MareNostrum4 gcc - ArnauMiro/pyLowOrder GitHub Wiki
NOTE: please be advised that MareNostrum 4 has been decommissioned.
Deployment in MareNostrum 4 is done using the classical steps for pyLOM and adapting the options.cfg as follows:
## Options
#
PLATFORM = MN4
VECTORIZATION = ON
OPENMP_PARALL = OFF
USE_MKL = ON
USE_GCC = ON
USE_NVHPC = OFF
DEBUGGING = OFF
USE_GESVD = OFF
USE_COMPILED = ON
## Optimization, host and CPU type
#
OPTL = 3
HOST = Host
TUNE = skylake
## Python versions
#
PYTHON = python3
PIP = pip3
## Versions of the libraries
#
LAPACK_VERS = 3.9.0
FFTW_VERS = 3.3.6
NFFT_VERS = 3.5.2
KISSFFT_VERS = 131.1.0
OPENBLAS_VERS = 0.3.17
ONEAPI_VERS = 2021.3
For a pre OneAPI version of MKL use
## Options
#
PLATFORM = MN4_MKL
VECTORIZATION = ON
OPENMP_PARALL = OFF
USE_MKL = ON
FORCE_GCC = ON
DEBUGGING = OFF
USE_GESVD = OFF
USE_COMPILED = ON
## Optimization, host and CPU type
#
OPTL = 3
HOST = Host
TUNE = skylake
## Python versions
#
PYTHON = python3
PIP = pip3
## Versions of the libraries
#
LAPACK_VERS = 3.9.0
FFTW_VERS = 3.3.6
NFFT_VERS = 3.5.2
KISSFFT_VERS = 131.1.0
OPENBLAS_VERS = 0.3.17
ONEAPI_VERS = 2017.4
The modules necessary to run pyLOM are:
module load gcc/9.2.0 openmpi/4.1.0 mkl/2021.3 python/3.7.4 hdf5/1.8.19
While different combinations of intel, impi and mkl are possible, python and hdf5 are recommended to follow the versions specified here. Note that the versions of the libraries might need to be changed when loading different modules than the ones specified here. Then, use
make deps requirements
to install all the requirements;
make python
to compile and;
make install
to install the tool.
h5py with parallel support
The h5py package is needed in order to have most of the functionality of pyLOM, however, it is not included in the requirements of pyLOM since it is not an essential package. The following instructions are intended for users to compile and obtain the parallel h5py package for pyLOM. Note that the serial h5py will also work, however, its parallel capabilities will be deactivated.
The package h5py can be manually installed with parallel support provided the right libraries are loaded. This was already handled with the previous module setup. Then install h5py from pip (or the github package) using:
CC=mpicc HDF5_MPI="ON" pip install --no-binary=h5py h5py