Porting with Intel-MPI

Article ID: 102
Last updated: 23 Feb, 2022

You can use the Intel MPI library to build and run your MPI application. The Intel MPI modules available on NAS resources are:

  • mpi-intel/2018.3.222
  • mpi-intel/2019.5.281
  • mpi-intel/2020.0.166

For more information, see Modules.

Compiling Your Applications

Before you compile an application, load an Intel compiler module and an Intel MPI module. Ensure that no other MPI module (MPT or MVAPICH2) is loaded. For example:

% module purge
% module load mpi-intel/2020.0.166
% module load comp-intel/2020.4.304

Compile your application by running either the mpiifort script to invoke the ifort compiler or the mpiicc script to invoke the icc compiler. For example:

% mpiifort -o your_executable program.f 

To view more information about the scripts, use the help option:  mpiifort -help  or  mpiicc -help.

Running Your Applications

The following script provides an example of using the Hydra process manager command. You can replace mpiexec.hydra with mpiexec as the two binaries are identical.

## For applications that run the same number of 
## MPI processes per node, use, for example
#PBS -lselect=4:ncpus=28:model=....

## If rank 0 needs all the memory in the 
## first node, use, for example
#PBS -lselect=1:ncpus=1:model=...+3:ncpus=28...
..
module load mpi-intel/2020.0.166
module load comp-intel/2020.4.304    # or another Intel compiler module

...

# TOTAL_CPUS below represents value for the current job, 
# it is to be replaced by an integer literal or
# by some variables that you set yourself

mpiexec.hydra -machinefile $PBS_NODEFILE -np TOTAL_CPUS your_executable

To view more mpiexec.hydra options, use the help option: mpiexec.hydra -help.

For more information about using Intel MPI libraries, see the Intel MPI Library Documentation website.

Contact Us

General User Assistance

Security

  • Report security issues 24x7x365
  • Toll-free: 1-877-NASA-SEC (1-877-627-2732)
  • E-mail: soc@nasa.gov

User Documentation

High-End Computing Capability (HECC) Portfolio Office

NASA High-End Computing Program

Tell Us About It

Our goal is furnish all the information you need to efficiently and effectively use the HECC resources needed for your NASA computational projects.

We welcome your input on features and topics that you would like to see included on this website.

Please send us email with your wish list and other feedback.