Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This will place the temporary outputs of the nsys code in your TMPDIR folder that by default is /dev/shm/slurm_job.$SLURM_JOB_ID where you have about 250 GB of free space.
This workaround may cause conflicts between multiple jobs running this profiler on a compute node at the same time, so we strongly suggest also to request the compute node exclusively:

#SBATCH --exclusive

MPI environment

We offer two options for MPI environment on LEONARDO:

  • For GPU: CUDA aware Open MPI
  • For CPU: Intel-OneAPI-MPI

Here you can find some useful details on how to use them on LEONARDO.

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.

The openmpi module provides the following wrappers:

Compiler

Wrapper

Usage

g++

mpic++
mpiCC
mpicxx

Compile C++ source files with GNU
gccmpiccCompile C source files with GNU
gfortran

mpif77
mpif90
mpifort

Compile FORTRAN source files with GNU

e.g. Compiling C code

> module load openmpi/<version>
> mpicc -o myexec  myprog.c (uses the gcc compiler)

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 mpicc
Intel-OneAPI-MPI

For Leonardo CPUs the availbale MPI implementation is Intel MPI.

To install MPI applications using Intel MPI you have to load intel-oneapi-mpi module (use "modmap  -m intel-oneapi-mpi command to see the available versions).

The intel-oneapi-mpi module provides the following wrappers for classic intel compilers and oneapi ("x") compilers:

Compiler

Wrapper

Usage

icpc


icpx

mpiicpc


mpiicpc -cxx=icpx

Compile C++ source files with classic Intel

Compile C++ source files with oneapi 

icc


icx

mpiicc


mpiicc -cc=iccx

Compile C source files with classic Intel

Compile C source files with oneapi 

ifort


ifx 

mpiifort (Fortran90/77)


mpiifort -fc=ifx

Compile FORTRAN source files with classic Intel

Compile FORTRAN source files with oneapi

e.g. Compiling Fortran code

> module load intel-oneapi-mpi/<version>
> mpiifort -o myexec  myprog.f90 (uses the ifort compiler)

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

Scientific libraries

...