Skip to content

Intel MPI

Intel MPICH is available and uses the OFI libfabric transport.

Building for Intel MPI

To build applications against Intel MPI at NERSC, first load the impi module:

module load impi

The simplest way to compile your application for Intel MPI is to use the Intel MPI compiler wrappers:

mpiicc -o my_c_exec my_c_prog.c
mpiicpc -o my_cplusplus_exec my_cplusplus_prog.cxx
mpiifort -o my_f90_exec my_f90_prog.f90

Note that these wrappers will use the Intel compilers regardless of which PrgEnv- module you have loaded. You can pass compiler options through the wrappers as if you were invoking the Intel compilers directly.

Job Launch

The impi module must be loaded to run jobs using Intel MPI. After loading the module you can use srun to launch the job:

salloc -N 5 --ntasks-per-node=32 -C haswell
module load impi
srun -n 160 ./my_c_exec

(See also our running jobs example for Intel MPI).