User Guide

  • 2020 Update 2
  • 07/28/2020
  • Public Content

Region Control with MPI_Pcontrol

Application Performance Snapshot supports the region control with the
MPI_Pcontrol()
operation. This allows you to enable and disable statistics collection for specific application regions in the source code. Region control only affects MPI and OpenMP* metrics, while the other ones will still be collected for the entire application.
By default, the statistics collection is enabled for the entire application. To disable the collection starting from a certain point, insert the
MPI_Pcontrol(0)
call in your code. Similarly, insert the
MPI_Pcontrol(1)
call to enable collection again. For example:
... MPI_Pcontrol(0); MPI_Comm_size (MPI_COMM_WORLD, &size); MPI_Comm_rank (MPI_COMM_WORLD, &rank); MPI_Pcontrol(1); ...
MPI_Pcontrol()
also allows you to mark specific code regions using unique numbers (5 and higher). Use a
MPI_Pcontrol(<region>)
call to mark the beginning of the region, and use
MPI_Pcontrol(-<region>)
to mark the end of the region. You can mark several non-contiguous code sections with the same region number to include them into the same region.
MPI_Pcontrol(0)
and
MPI_Pcontrol(1)
disable and enable statistics collection for all regions at once, respectively.
The following example demonstrates how to mark code regions with
MPI_Pcontrol()
:
if (rank == 0) {     MPI_Pcontrol(5);     for (i = 1; i < size; i++)         MPI_Recv (&rank, 1, MPI_INT, i, 1, MPI_COMM_WORLD, &stat);     MPI_Pcontrol(-5); } else {     MPI_Pcontrol(6);     MPI_Send (&rank, 1, MPI_INT, 0, 1, MPI_COMM_WORLD);     MPI_Pcontrol(-6); }
If an application contains regions, the statistics will be collected for the entire application and for that region specifically. Region statistics data is saved in a separate folder
aps_result
_<date>_<region>
, for example
aps_result
_20171231_6
.
As it was mentioned above, region numbers from
0
to
4
are unavailable (
0
and
1
have special meanings;
2
,
3
and
4
are ignored), and regular regions start with the number
5
. You can change this behavior and also make
1
,
2
,
3
and
4
regular regions, or make regular regions start with a greater number. To do so, set the
MPS_PCONTROL_REGION_BEGIN
environment variable to the desired value.
Note
According to the MPI standard,
MPI_Pcontrol()
can have a variable number of arguments. For Application Performance Snapshot, only the first argument is relevant.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.