mountpoint └── processor architecture │ └── glibc (C-library) of OS │ └── processor type │ └──program name │ └──program version
/opt/sw └── x86_64 │ └── glibc-2.17 │ └── ivybridge-ep │ └──hdf5 │ └──1.8.18-MPI
tree -d -L 5 /opt/sw/x86_64/glibc-2.17/ivybridge-ep/hdf5/1.8.18-MPI
/opt/sw/x86_64/glibc-2.17/ivybridge-ep/hdf5/1.8.18-MPI ├── gcc │ └── 5.3 │ └── intel-mpi │ └── 5 │ ├── bin │ ├── include │ ├── lib │ └── share └── intel ├── 15 │ └── intel-mpi │ └── 5 │ ├── bin │ ├── include │ ├── lib │ └── share ├── 16 │ └── intel-mpi │ └── 5 │ ├── bin │ ├── include │ ├── lib │ └── share └── 17 └── intel-mpi └── 2017 ├── bin ├── include ├── lib └── share
Software used for compiling is reflected in the directory structure
module avail
MODULEPATH
MODULEPATH
MODULEPATH
will be used.ls /opt/sw/Modules/Libraries/hdf5 1.6.10 1.8.14 1.8.14-SERIAL 1.8.18 1.8.18-SERIAL 1.8.12 1.8.14-MPI 1.8.16 1.8.18-MPI
module load <modulename>
[markus@l33 ~]$ module load hdf5/1.8.18-MPI You are not meeting the prereq of this module. Currently loaded modules: None The following modules combinations can be loaded: (1): module load intel/15 intel-mpi/5 hdf5/1.8.18-MPI (2): module load intel/16 intel-mpi/5 hdf5/1.8.18-MPI (3): module load gcc/5.3 intel-mpi/5 hdf5/1.8.18-MPI (4): module load intel/17 intel-mpi/2017 hdf5/1.8.18-MPI
Do copy and paste:
module load intel/16 intel-mpi/5 hdf5/1.8.18-MPI
module list
module purge
module remove <modulename> <modulename> ...
module show <modulename>
module show hdf5/1.8.18-MPI /opt/sw/Modules/Libraries/hdf5/1.8.18-MPI: conflict hdf5 setenv VSC_HDF5_ROOT /opt/sw/x86_64/glibc-2.17/ivybridge-ep/hdf5/1.8.18-MPI/intel/16/intel-mpi/5 prepend-path CPATH $VSC_HDF5_ROOT/include prepend-path INCLUDE $VSC_HDF5_ROOT/include setenv VSC_HDF5_INCLUDE $VSC_HDF5_ROOT/include prepend-path LD_LIBRARY_PATH $VSC_HDF5_ROOT/lib prepend-path LIBRARY_PATH $VSC_HDF5_ROOT/lib setenv VSC_HDF5_LIB $VSC_HDF5_ROOT/lib prepend-path PATH $VSC_HDF5_ROOT/bin setenv VSC_HDF5_BIN $VSC_HDF5_ROOT/bin setenv VSC_HDF5_VERSION_MAJOR 1 setenv VSC_HDF5_VERSION_MINOR 8 setenv VSC_HDF5_VERSION_MICRO 18-MPI setenv VSC_HDF5_VERSION 1.8 -------------------------------------------------------------------
env env |grep PATH echo $PATH |tr ':' '\n' echo $LD_LIBRARY_PATH |tr ':' '\n' echo $MODULEPATH |tr ':' '\n'
tree -d /opt/sw/x86_64/glibc-2.17/ivybridge-ep/hdf5
module avail module load hdf5/1.8.18-MPI #follow instructions in shell! module list module show hdf5/1.8.18-MPI module purge
PATH
and LD_LIBRARY_PATH
before and after loading a modulemkdir ${HOME}/mymodules mkdir ${HOME}/mymodules/gnuplot
MODULEPATH
:export MODULEPATH=${HOME}/mymodules:$MODULEPATH
${HOME}/mymodules/gnuplot/5.0.5
:#%Module set inst_base $env(HOME)/mysoftware/gnuplot/5.0.5 prepend-path PATH $inst_base/bin prepend-path LD_LIBRARY_PATH $inst_base/lib append-path CPATH $inst_base/include setenv MYVAR test1234
module avail 2>&1 | less #search for gnuplot; use '/' within less for searching module load gnuplot/5.0.5 module show gnuplot/5.0.5
eg. from HDF5:
EXAMPLE=$VSC_HDF5_ROOT/share/hdf5_examples/c/ph5example.c
Compile using Intel C Compiler (file):
module purge module load intel/16 \ intel-mpi/5 hdf5/1.8.18-MPI cp $EXAMPLE . mpiicc -lhdf5 ph5example.c -o ph5example
Compile using Gnu C Compiler (file):
module purge module load gcc/5.3 \ intel-mpi/5 hdf5/1.8.18-MPI cp $EXAMPLE . mpicc -lhdf5 ph5example.c -o ph5example
If needed add e.g. include directory explicitly:
mpiicc -I$VSC_HDF5_INCLUDE -lhdf5 ph5example.c -o ph5example
Hint: