Before you start analyzing the performance of the target application, do the following:
The first step in analyzing a hybrid MPI/OpenMP* application is getting an overview of the application performance. There is a tool called MPI Performance Snapshot (MPS) that can provide the general performance information about your application. This includes MPI and OpenMP time and load balance information, information about memory and disk usage, most utilized MPI operations, and more.
There are three key reasons for an application to be MPI-bound:
High wait times inside the MPI library. This occurs when a process waits for the data from other processes. This case is characterized with high values of MPI Imbalance indicator.
Poor or incorrectly set optimization settings of the library.
To improve performance of the heart_demo application, it is necessary to change the communication pattern.
Use Intel® VTune™ Amplifier XE to understand why the computation time of the 2/64 combination is worse than the 32/4 combination even though the elapsed time is much less. A lower elapsed time for 32/4 is not possible due to the overhead of MPI deployments. As a result, it is better to focus on improving the computation time for the 2/64 combination instead.
To analyze the application performance with VTune Amplifier:
After updating the vector instruction set, collect performance data again with Intel VTune Amplifier to find additional optimization opportunities.
You have completed the Analyzing OpenMP* and MPI Applications tutorial with MPI Performance Snapshot, Intel® Trace Analyzer and Collector, and Intel® VTune™ Amplifier XE. Here are some important things to remember when working with your own hybrid application:
Baseline: A performance metric used as a basis for comparison of the application versions before and after optimization. Baseline should be measurable and reproducible.
Computation Time: The time your application ran without any additional overhead (initialization time, finalization time, etc.). Computation time is included in Elapsed Time.
Intel® Trace Analyzer and Collector
MPI Performance Snapshot
Intel® VTune™ Amplifier XE for Linux* OS
Discover how to use Intel® Parallel Studio to tune hybrid applications by reviewing MPI utilization inefficiencies and balancing thread load levels.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.