How to build the dependencies on Summit

  • Our attempt to use spack on Summit to build all the dependencies so far failed and for now we are doing it manually.
  • Load the following modules module load gcc/7.4.0 module load zeromq/4.2.5 module load libfabric/1.7.0 module load python/3.7.0-anaconda3-5.3.0
  • Create conda environment conda create -n Test conda install conda pip numpy scipy pandas matplotlib source activae Test
  • Build mpi4py from source (using conda install is not a good idea since we want to make sure that system MPI is used) wget https://bitbucket.org/mpi4py/mpi4py/downloads/mpi4py-3.0.3.tar.gz tar xvf mpi4py-3.0.3.tar.gz cd mpi4py-3.0.3 python setup.py install
  • Install Cheetah/Savanna git clone git@github.com:CODARcode/cheetah.git cd cheetah python setup.py install
  • Build simplest ADIOS installation with python support git clone https://github.com/ornladios/ADIOS2.git ADIOS2 cd ADIOS2 mkdir build cd build cmake -DCMAKE_CXX_COMPILER=`which g++` -DCMAKE_C_COMPILER=`which gcc` -DCMAKE_Fortran_COMPILER:FILEPATH=`which gfortran` \ -DADIOS2_USE_MPI:STRING=True -DCMAKE_INSTALL_PREFIX=$HOME/SOFT_INSTALL/adios-2.5_simplest-gcc-7.4.0 -DADIOS2_USE_HDF5:STRING=False -DADIOS2_USE_SZ:STRING=False -DADIOS2_USE_ZFP:STRING=False -DADIOS2_USE_Blosc:STRING=False -DADIOS2_USE_BZip2:STRING=False -DADIOS2_USE_PNG:STRING=False -DADIOS2_USE_DataMan:STRING=True -DADIOS2_USE_Fortran:STRING=False .. make -j20 make install
  • Create a module (lua file) to use ADIOS, for example: ``` dir = os.getenv("HOME") .. '/SOFT_INSTALL/adios-2.5_simplest-gcc-7.4.0/' prepend_path('PATH', dir .. 'bin') prepend_path('LD_LIBRARY_PATH', dir .. 'lib64') prepend_path('CPATH', dir .. 'include') prepend_path('PYTHONPATH', dir .. 'lib64/python3.6/site-packages') setenv('ADIOS2_DIR', dir)

* Use `module use ...` to make the corresponding directory with modules visible and load ADIOS, for example, as follows: module load Compiler/gcc/7.4.0/adios2/2.5_simplest-gcc-7.4.0 * Launch python interpreter and test that you can import adios2 import cheetah import mpi4py import numpy import pandas ``` * If it worked, you are ready to run tests