Get Started Guide

  • 2020
  • 07/28/2020
  • Public Content

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

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
Product Contents
The product comprises the following main components:
  • Compilation tools, including compiler drivers such as
  • Include files and modules
  • Dynamic (
    ) libraries, debug libraries, interface libraries, and program database (
    ) files
  • Process Manager and tools to run programs
  • Test code
  • Documentation provided as a separate package or available from the Intel Developer Zone
Besides the components above, 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
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 Fortran 90 language bindings
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
    batch file:
    where <
    > is the Intel MPI Library installation directory (by default,
    C:\Program Files (x86)\inteloneapi
  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
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 your
. For the Intel® compilers, you can run the
script from corresponding directory.
2. Compile your program using the appropriate compiler driver. For example, for a test C program:
> mpiicc -o test.exe
Running an MPI Program
Execute the program using the
command. For example, for the test program:
> mpiexec -n <
# of processes
> test.exe
To specify the hosts to run the program on, use the
> mpiexec -n <
# of processes
> -ppn <
# of processes per node
> -hosts <host1>,<host2>,...,<hostN> test.exe
If you encounter problems when using Intel MPI Librargo through the following general procedures to troubleshoot them:
  • Check system requirements and known issues in the
    Release Notes
  • Check hosts accessibility. Try to run a simple non-MPI application (for example,
    utility) on the problem hosts with
    . This check helps you reveal the environmental or connectivity problem (for example, unreachable hosts).
  • Run the MPI application with debug information enabled. To enable the debug information, set the environment variable
    . You can also set a different debug level to get more detailed information. This action helps to find out the problem component.
  • See more details in the “Troubleshooting” section of the
    Developer Guide
    Training and Documentation
  • Online Training : An excellent resource for learning the Intel MPI Library capabilities through various guides, videos, webinars, and more.
  • Release Notes : Up-to-date information about the product, including: what's new, key features, system requirements, and known limitations.
  • Online Documentation : Links to all available Intel MPI Library documents.

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804