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
Supported Languages:
- For GNU* compilers: C, C++, Fortran 77, Fortran 95
- For Intel® compilers: C, C++, Fortran 77, Fortran 90, Fortran 95
Prerequisites
Before you start using Intel MPI Library, complete the following steps:
1. Run the setvars.bat script to set the environment variables for the Intel MPI Library. The script is located in the installation directory (by default, C:\Program Files (x86)\Intel\oneAPI).
2. Install and run the Hydra services on the compute nodes. Open the command prompt as an administrator and enter:
> hydra_service -install
> hydra_service -start
3. Register your credentials:
> mpiexec -register
For detailed system requirements, see Intel® MPI Library System Requirements.
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 PATH. 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 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 an 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 the problem component.
See more details in the “Troubleshooting” section of the Developer Guide.
More Resources
- Release Notes: Up-to-date information about the product including: what's new, key features, and known limitations.
- Online Documentation: Links to all available Intel MPI Library documents.
- Support: Find links to the oneAPI HPC Toolkit Community Forum, Support requests, and more.
- Intel DevCloud: Develop, test, and run your workloads for free on a cluster of the latest Intel® hardware and software.