Compiling and Running MPI Jobs

Compiling Parallel MPI Programs

The Intel, NVIDIA/PGI and GNU compilers are installed on all the clusters. The standard MPI implementation is Intel MPI, which supports the Infiniband infrastructure. Open MPI is also available.

To set up your environment with the Intel compilers and MPI libraries:

$ module load intel/
$ module load intel-mpi/intel/2019.7

To compile Fortran code:

$ mpif90 myMPIcode.f90

See an example for Fortran 90.

To compile C code:

$ mpicc myMPIcode.c

To compile C++ code:

$ mpicxx myMPIcode.cpp

See an example for C++.


Compiling Vectorized Code on Della

See the bottom of the Software page for dealing with the different generations of CPUs on Della.


Submitting an MPI Job

See the "Multinode Jobs" section of the Slurm page for an example. You will need to load the same environment modules in your Slurm script that you used to compile the code.