Tutorial: Analyzing an OpenMP* and MPI Application

Intel® Trace Analyzer and Collector
Application Performance Snapshot
Intel® VTune™
Profiler
for Linux* OS
Discover how to use Intel® Parallel Studio to tune hybrid applications by reviewing MPI utilization inefficiencies and balancing thread load levels.
About This Tutorial
This tutorial uses the sample
heart_demo
and guides you through basic steps required to analyze hybrid OpenMP* and MPI code for inefficiencies using
Intel® VTune™
Profiler
's Application Performance Snapshot, Intel® Trace Analyzer and Collector, and
Intel VTune
Profiler
.
The tutorial was last updated for the Intel Parallel Studio 2018 product release. The analysis was run on 8 cluster nodes with Intel® Xeon Phi™ processors (formerly code named Knights Landing), each with 256 logical CPUs.
Estimated Duration
Read tutorial: 10 minutes
Run through tutorial with sample application: 60+ minutes
Learning Objectives
After you complete this tutorial, you should be able to:
  • Build an application using the MPI library and Intel® C++ compiler.
  • Run the Application Performance Snapshot tool to get a high-level overview of performance optimization opportunities.
  • Run Intel Trace Analyzer and Collector to identify MPI-bound code.
  • Analyze the communication pattern of the source code.
  • Run the HPC Performance Characterization Analysis with
    Intel VTune
    Profiler
    to locate vectorization and parallelism issues in the sample code.
  • Compare results before and after optimization.
More Resources
1

Product and Performance Information

1

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 reservered 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