Babel : mpiP

Description

mpiP est une bibliothèque de profilage des appels MPI développée par le LLNL. La version 3.1.2 est disponible sur Babel.

Elle collecte dans un seul fichier texte :

  • la liste des sous-programmes MPI appelés et à partir d'où (sites d'appel),
  • la taille des messages,
  • le temps passé dans les appels MPI pour chaque sous-programme et en-dehors,
  • les quantités de données transferées entre tous les processus,
  • le placement des processus.

Utilisation

  • Charger le module mpiP. Commande : module load mpip
  • Compiler avec -g (option activée par défaut à l'IDRIS)
  • Exécuter l'application normalement. Un fichier avec pour extension mpiP est généré à la fin de l'exécution.

Exemple

Voici un extrait d'un fichier de sortie pour une exécution typique.

Attention : pour l'identification des sites d'appel, mpiP n'est capable que d'identifier l'adresse sur le stack correspondante à l'appel. Vous pouvez utiliser l'outil addr2line pour obtenir la ligne source dans votre application (à condition d'avoir compilé avec l'option -g, option activée par défaut à l'IDRIS).

babel> cat Unknown.64.100.1.mpiP
@ mpiP
@ Command :
@ Version                  : 3.1.2
@ MPIP Build date          : Mar 17 2009, 15:43:21
@ Start time               : 2009 03 17 15:52:17
@ Stop time                : 2009 03 17 15:52:30
@ Timer Used               : gettimeofday
@ MPIP env var             : [null]
@ Collector Rank           : 0
@ Collector PID            : 100
@ Final Output Dir         : .
@ Report generation        : Single collector task
@ MPI Task Assignment      : 0 Rank 0 of 64 <0,0,0,0>  R00-M0-N02-J23
@ MPI Task Assignment      : 1 Rank 1 of 64 <1,0,0,0>  R00-M0-N02-J04
@ MPI Task Assignment      : 2 Rank 2 of 64 <2,0,0,0>  R00-M0-N02-J12
@ MPI Task Assignment      : 3 Rank 3 of 64 <3,0,0,0>  R00-M0-N02-J31
...
...
...
---------------------------------------------------------------------------
@--- MPI Time (seconds) ---------------------------------------------------
---------------------------------------------------------------------------
Task    AppTime    MPITime     MPI%
   0       12.6      0.959     7.63
   1       12.6      0.923     7.34
   2       12.6      0.924     7.34
   3       12.6      0.979     7.78
...
...
...
   *        805       59.8     7.43
---------------------------------------------------------------------------
@--- Callsites: 24 --------------------------------------------------------
---------------------------------------------------------------------------
 ID Lev File/Address        Line Parent_Funct             MPI_Call
  1   0 0x01002ed3               [unknown]                Cart_shift
  2   0 0x010038c7               [unknown]                Allreduce
  3   0 0x01003b27               [unknown]                Comm_free
  4   0 0x01001e57               [unknown]                Sendrecv
  5   0 0x0100309f               [unknown]                Bcast
  6   0 0x01003b03               [unknown]                Type_free
  7   0 0x01003b0f               [unknown]                Type_free
  8   0 0x01002023               [unknown]                Sendrecv
  9   0 0x01002e8b               [unknown]                Cart_shift
 10   0 0x01003b1b               [unknown]                Type_free
 11   0 0x0100318b               [unknown]                Cart_create
 12   0 0x01002eaf               [unknown]                Cart_shift
 13   0 0x01001ef3               [unknown]                Sendrecv
 14   0 0x01002547               [unknown]                Cart_coords
 15   0 0x01001aff               [unknown]                Reduce
 16   0 0x01001ac3               [unknown]                Reduce
 17   0 0x01001dc3               [unknown]                Sendrecv
 18   0 0x010035f3               [unknown]                Type_commit
 19   0 0x010020b7               [unknown]                Sendrecv
 20   0 0x01003583               [unknown]                Type_commit
 21   0 0x01001a87               [unknown]                Reduce
 22   0 0x010030d7               [unknown]                Dims_create
 23   0 0x010036b7               [unknown]                Type_commit
 24   0 0x01001f87               [unknown]                Sendrecv
---------------------------------------------------------------------------
@--- Aggregate Time (top twenty, descending, milliseconds) ----------------
---------------------------------------------------------------------------
Call                 Site       Time    App%    MPI%     COV
Sendrecv               13   2.08e+04    2.59   34.82    0.05
Sendrecv               24   1.29e+04    1.60   21.53    0.12
Sendrecv                4    5.7e+03    0.71    9.54    0.13
Sendrecv               19   5.64e+03    0.70    9.43    0.12
Sendrecv               17   5.44e+03    0.68    9.10    0.10
Sendrecv                8   5.16e+03    0.64    8.63    0.11
Allreduce               2    2.8e+03    0.35    4.68    0.81
Bcast                   5   1.12e+03    0.14    1.87    0.13
Reduce                 21        195    0.02    0.33    0.69
Cart_create            11         14    0.00    0.02    0.06
Reduce                 16       10.4    0.00    0.02    0.13
Reduce                 15       8.46    0.00    0.01    0.05
Dims_create            22       1.43    0.00    0.00    0.02
Type_commit            23       1.17    0.00    0.00    0.03
Type_commit            20       1.15    0.00    0.00    0.04
Comm_free               3       1.14    0.00    0.00    0.03
Type_free               6      0.813    0.00    0.00    0.06
Cart_shift              9      0.763    0.00    0.00    0.04
Type_commit            18      0.629    0.00    0.00    0.04
Cart_coords            14      0.591    0.00    0.00    0.05
---------------------------------------------------------------------------
@--- Aggregate Sent Message Size (top twenty, descending, bytes) ----------
---------------------------------------------------------------------------
Call                 Site      Count      Total       Avrg  Sent%
Sendrecv               24       6400   8.39e+08   1.31e+05  16.67
Sendrecv               17       6400   8.39e+08   1.31e+05  16.67
Sendrecv               19       6400   8.39e+08   1.31e+05  16.67
Sendrecv                8       6400   8.39e+08   1.31e+05  16.67
Sendrecv               13       6400   8.39e+08   1.31e+05  16.67
Sendrecv                4       6400   8.39e+08   1.31e+05  16.67
Allreduce               2       6400   5.12e+04          8   0.00
Reduce                 15        640   5.12e+03          8   0.00
Reduce                 16        640   5.12e+03          8   0.00
Reduce                 21        640   5.12e+03          8   0.00
Bcast                   5         64        256          4   0.00
---------------------------------------------------------------------------
@--- Callsite Time statistics (all, milliseconds): 1536 -------------------
---------------------------------------------------------------------------
Name              Site Rank  Count      Max     Mean      Min   App%   MPI%
Allreduce            2    0    100     1.37     1.22    0.027   0.97  12.75
Allreduce            2    1    100    0.618    0.493    0.206   0.39   5.34
Allreduce            2    2    100    0.618    0.496    0.206   0.39   5.37
Allreduce            2    3    100     1.21      1.1    0.205   0.87  11.21
...
...
...
Allreduce            2    *   6400     1.53    0.437    0.016   0.35   4.68

Bcast                5    0      1     0.03     0.03     0.03   0.00   0.00
...
...
...
---------------------------------------------------------------------------
@--- Callsite Message Sent statistics (all, sent bytes) -------------------
---------------------------------------------------------------------------
Name              Site Rank   Count       Max      Mean       Min       Sum
Allreduce            2    0     100         8         8         8       800
Allreduce            2    1     100         8         8         8       800
Allreduce            2    2     100         8         8         8       800
Allreduce            2    3     100         8         8         8       800
...
...
...
Allreduce            2    *    6400         8         8         8  5.12e+04

Bcast                5    0       1         4         4         4         4
...
...
...
---------------------------------------------------------------------------
@--- End of Report --------------------------------------------------------
---------------------------------------------------------------------------

Documentation