...
Here you can find some useful details on how to use them on LEONARDO.
Compiling
OpenMPI
This most common MPI implementation is installed inside the GNU environment.
It is configured to support both CUDA-aware and GPUDirect.
To install MPI applications using Open MPI you have to load openmpi module (use "modmap -m openmpi" command to see the available Open MPI versions) and select the MPI compiler wrapper for Fortran, C or C++ codes.
...
You can add all options available for the backend compiler (you can show it by "-show" flag, e.g. "mpicc -show"). In order to list them type the "man" command
> man mpiifort
Running
To run MPI applications they are two way:
- using mpirun launcher
- using srun launcher
mpirun launcher
To use mpirun launcher the openmpi or intel-oneapi-mpi module needs to be loaded:
> module load openmpi/<version>
or
> module load intel-onepi-mpi/version
> mpirun ./mpi_exec
It can be used via salloc or sbatch way:
> salloc -N 2 (allocate a job of 2 nodes)
> mpirun ./mpi_exec
or
> sbatch -N 2 my_batch_script.sh (allocate a job of 2 nodes)
> cat my_batch_script.sh
#!/bin/sh
mpirun ./mpi_exec
srun launcher
MPI applications can be launched directly with the slurm launcher srun
> srun -N 2 ./mpi_exec
or via salloc/sbatch way:
> salloc -N 2 (allocate a job of 2 nodes)
> srun ./mpi_exec
or
> sbatch -N 2 my_batch_script.sh (allocate a job of 2 nodes)
> vi my_batch_script.sh
#!/bin/sh
srun -N 2 ./mpi_exec
Scientific libraries
Linear Algebra
...