Get Started Guide

  • 2021.2
  • 03/26/2021
  • Public Content

Get Started with Intel® MPI Library for Intel® oneAPI on
Windows*
OS

The Intel® MPI Library enables you to create, maintain, and test advanced applications that have performance advantages on high-performance computing (HPC) clusters based on Intel® processors.
The Intel MPI Library is available as a standalone product and as part of the Intel® oneAPI HPC Toolkit.The Intel® MPI Library is a multi-fabric message passing library that implements the Message Passing Interface, version 3.1 (MPI-3.1) specification. Use the library to develop applications that can run on multiple cluster interconnects.
The Intel MPI Library has the following features:
  • Low overhead enables analysis of large amounts of data
  • MPI tuning utility for accelerating your applications
  • Interconnect independence and flexible runtime fabric selection
The product consists of the following main components:
  • Compilation tools, including compiler drivers such as mpiicc and mpifort
  • Include files and modules
  • Dynamic (.dll) libraries, debug libraries, interface libraries, and program database(.pdb) files
  • Process Manager and tools to run programs
  • Test code
  • Documentation provided as a separate package or available from the Intel Developer Zone
Intel MPI Library also includes Intel® MPI Benchmarks, which enable you to measure MPI operations on various cluster architectures and MPI implementations. For details, see the
Intel
MPI Benchmarks User Guide
. Source code is available in the GitHub repository.

Key Features

The Intel MPI Library has the following major features:
  • MPI-1, MPI-2.2 and MPI-3.1 specification conformance
  • Interconnect independence
  • C, C++, Fortran* 77,
    and Fortran90
    language bindings

Prerequisites

Before you start using Intel MPI Library make sure to complete the following steps:
1. Set the environment variables: from the installation directory (the default directory is shown below), run the vars.bat batch file:
> <install-dir>\mpi\<version>.<update>\env\vars.bat
where
<install-dir>
is the Intel MPI Library installation directory (by default,
C:\Program Files (x86)\Intel\oneAPI)
.
2. Install and run the Hydra services on the compute nodes. In the command prompt, enter:
> hydra_service -install
> hydra_service -start
3. Register your credentials:
> mpiexec -register
For detailed system requirements, see the “System Requirements” section in Release Notes.
For using module files to set up your development environment, see https://software.intel.com/content/www/us/en/develop/documentation/using-a-modulefile-to-set-up-your-development-environment-with-intel-oneapi/top.html.

Building and Running MPI Programs

Compiling an MPI Program

1. Make sure you have the desired compiler installed and configured properly. For example, for the Intel® C++ Compiler, run:
> icl
If the command is not recognized, add the compiler to yourPATH. For the Intel® compilers, you can run the vars.bat script from corresponding directory.
2. Compile your program using the appropriate compiler driver. For example, for a
test C program:
> mpiicc -o test.exe <install-dir>\test\test.c

Running an MPI Program

Execute the program using the mpiexec command. For example, for the test program:
> mpiexec -n <# of processes> test.exe
To specify the hosts to run the program on, use the -hosts option:
> mpiexec -n <# of processes> -ppn <# of processes per node> -hosts <host1>,<host2>,...,<hostN> test.exe

Troubleshooting

If you encounter problems when using Intel MPI Library, go through the following general procedures to troubleshoot them:
  • Check system requirements, known issues and limitations in the
    Release Notes
    .
  • Check hosts accessibility. Run a simple non-MPI application (for example,
    hostname utility
    ) on the problem hosts with
    mpiexec
    . This check helps you reveal the environmental problem , or connectivity problem (for example, unreachable hosts).
  • Run the MPI application with debug information enabled. To enable the debug information, set the environment variable I_MPI_DEBUG=6. You can also set a different debug level to get more detailed information. This action helps you find out the problem component.
See more details in the “Troubleshooting” section of the Developer Guide.

More Resources

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.