- Introduction
- Product Directories
- What's New
- Command-Line Control
- Building Instructions for Linux* OS
- Building Instructions for Windows* OS
- Copyright and License Information
- Legal Information
Intel(R) MPI Benchmarks provides a set of elementary benchmarks that conform to MPI-1, MPI-2, and MPI-3 standard. You can run all of the supported benchmarks, or a subset specified in the command line using one executable file. Use command-line parameters to specify various settings, such as time measurement, message lengths, and selection of communicators. For details, see the Intel(R) MPI Benchmarks User's Guide located in the /doc directory.
By default, Intel(R) MPI Benchmarks is installed at:
- C:\Program Files (x86)\IntelSWTools\imb on Windows* OS
- /opt/intel/imb on Linux* OS
Before using the Intel(R) MPI Benchmarks, please read the license agreements located in the imb/license directory.
After a successful installation of Intel(R) MPI Benchmarks, the following files and folders appear on your system:
+-- \imb Intel(R) MPI Benchmarks product directory
|
+-- \license Product license files.
| |
| +--license.txt Source code license granted to you.
| |
| +--use-of-trademark-license.txt License file describing the
| use of the Intel(R) MPI
| Benchmarks name and trademark.
|
+-- \src Product source code and Makefiles.
|
+-- \WINDOWS Microsoft* Visual Studio* project files.
|
+-- Readme_IMB.txt Readme file providing the basic information
about the product (this file).
- Support for the Microsoft* Visual Studio* 2017. Microsoft* Visual Studio* 2012 support is removed.
- Product documentation is now available online only at: https://software.intel.com/en-us/imb-user-guide
- Removed support of the Intel(R) Xeon Phi(TM) coprocessors (formerly code named Knights Corner).
- Added a new option -imb_barrier.
- The PingPong and PingPing benchmarks are now equivalent to PingPongSpecificSource and PingPingSpecificSource, respectively. Their old behavior (with MPI_ANY_SOURCE) is available in PingPongAnySource and PingPingAnySource.
- Changed default values for the -sync and -root_shift options.
- Support for the Microsoft* Visual Studio* 2015. Microsoft* Visual Studio* 2010 support is removed.
- Bug fixes.
- Bug fixes.
- Introduced two new benchmarks: uniband and biband.
- Introduced two new command-line options for collective benchmarks: -sync and -root_shift.
- Fix of a bug where benchmarking was failing on certain message lengths with -DCHECK.
- Fix of a bug where benchmarking could continue after the time limit is exceeded.
- Introduced new components IMB-NBC and IMB-RMA that conform to the MPI-3.0 standard. Note: These components can only be built and used with MPI libraries that conform to the MPI-3 standard.
- Added new targets to the Linux* OS Makefiles:
- NBC for building IMB-NBC
- RMA for building IMB-RMA
- Updated Microsoft* Visual Studio* solutions to include the IMB-NBC and IMB-RMA targets.
- Consolidated all first-use documents in ReadMe_IMB.txt to improve usability.
- Introduced a new feature to set the appropriate algorithm for automatic calculation of iterations. The algorithm can be set through the -iter and -iter_policy options.
- Support for the Microsoft* Visual Studio* 2013. Microsoft* Visual Studio* 2008 support is removed.
You can get help on the Intel(R) MPI Benchmarks from the command line using the component name and the -help parameter. For example, for the IMB-MPI1 component, run: IMB-MPI1 -help
You can see the Intel(R) MPI Benchmarks User's Guide for details on the command-line parameters.
-
Set the CC variable to point to the appropriate compiler wrapper, mpiicc or mpicc.
-
Run one or more Makefile commands below:
make clean - remove legacy binary object files and executable files make MPI1 - build the executable file for the IMB-MPI1 component make EXT - build the executable file for one-sided communications benchmarks make IO - build the executable file for I/O benchmarks make NBC - build the executable file for IMB-NBC benchmarks make RMA - build the executable file for IMB-RMA benchmarks make all - build all executable files available
-
Run the benchmarks as follows:
mpirun -n <number_of_processes> IMB- [arguments]
where is one of the make targets above. For details, refer to the Intel(R) MPI Benchmarks User's Guide at: https://software.intel.com/en-us/imb-user-guide
Use the enclosed solution files located in the component-specific subdirectories under the imb/WINDOWS directory. Click on the respective ".vcproj" or ".vcxproj" project file and use the Microsoft* Visual Studio* menu to run the associated benchmark application.
-
Check that the Include, Lib, and Path environment variables are set as follows: %I_MPI_ROOT%\intel64\include %I_MPI_ROOT%\intel64\lib %I_MPI_ROOT%\mpi\intel64\bin The %I_MPI_ROOT% environment variable is set to the Intel(R) MPI Library installation directory.
-
Open the ".vcproj" or ".vcxproj" file for the component you would like to build. From the Visual Studio Project panel: a) Change the "Solution Platforms" dialog box to "x64". b) Change the "Solution Configurations" dialog box to "Release". c) Check other settings as required, for example: General > Project Defaults - Set "Character Set" to "Use Multi-Byte Character Set" C/C++ > General - Set "Additional Include Directories" to "$(I_MPI_ROOT)\intel64\include" - Set "Warning Level" to "Level 1 (/W1)" C/C++ > Preprocessor - For the "Preprocessor definitions" within the Visual Studio projects, add the conditional compilation macros WIN_IMB and _CRT_SECURE_NO_DEPRECATE. Depending on the components you intend to use, add one or more of the following macros: MPI1, EXT, MPIIO, NBC, RMA. Linker > Input - Set "Additional Dependencies" to "$(I_MPI_ROOT)\intel64\lib\impi.lib". Make sure to add quotes.
-
Use F7 or Build > Build Solution to create an executable.
For details, refer to the Intel(R) MPI Benchmarks User's Guide at: https://software.intel.com/en-us/imb-user-guide
See the license files in the imb/license directory.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.
The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request.
Intel, Intel Core, Xeon, Xeon Phi and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
- Other names and brands may be claimed as the property of others.
(C) Intel Corporation.