MPI trace analysis can be used to analyze, and compute the message passing load imbalance among the ranks of a MPI application running on a cluster. It supports OpenMPI, MPICH, and their derivatives.
The supported thread models are MPI_THREAD_SINGLE, MPI_THREAD_FUNNLED, and MPI_THREAD_SERIALIZED. The profile reports are generated for Point-to-Point and Collective API activity summary.
Fortran bindings are configured and built while compiling the MPI implementations. You can enable/ disable the Fortran bindings based on your need for Fortran language support.
- OpenMPI
--enable-mpi-fortran[=VALUE] --disable-mpi-fortranBy default, OpenMPI will attempt to build all the 3 Fortran bindings:
mpif.h,mpi module, andmpi_f08 module. - MPICH
--disable-fortranBy default, the Fortran bindings are enabled. You can use this option to disable it.
Support Matrix
| Component | Supported Versions |
|---|---|
| MPI Spec | MPI v3.1 or later |
| MPI Libraries |
|
| OS |
|
| Languages | C, C++, and Fortran |
MPI Implementation Support
AMD uProf supports tracing of Open MPI and MPICH and the derivatives:
-
--trace mpi --mpi-impl mpichfor MPICH and derivatives (default option) -
--trace mpi --mpi-impl openmpifor Open MPI
Ensure that the correct option (mpich or openmpi) is passed depending
on the MPI implementation used for compiling the MPI application. Passing incorrect
option might cause undefined behavior.
Tracing Modes
The AMDuProf CLI supports the following 2 modes for MPI tracing:
- LWT – Light-weight tracing is useful for quick analysis of an application.
The report gets generated in .csv format on-the-fly during collection stage. Use
CLI option
--mpi-scope lwtfor LWT mode. - FULL – Full tracing is useful for in-depth analysis. This mode requires
post-processing for report generation in .csv format. Use CLI option
--mpi-scopefull for FULL mode.
For more information on MPI tracing options, see Linux Specific Options .