In LWT mode, a quick report gets generated during collection stage. This mode supports a limited set of APIs for tracing as listed in the following table. This report gives an overview of the application runtime activity. See Figure 1.
| Sr. No. | API | Sr. No. | API | Sr. No. | API |
|---|---|---|---|---|---|
| 1 | MPI_Bsend | 20 | MPI_Reduce | 39 | MPI_Ibarrier |
| 2 | MPI_Recv_init | 21 | MPI_Iprobe | 40 | MPI_Wait |
| 3 | MPI_Bcast | 22 | MPI_Ssend | 41 | MPI_Mprobe |
| 4 | MPI_Ireduce_scatter | 23 | MPI_Iallreduce | 42 | MPI_Alltoall |
| 5 | MPI_Bsend_Init | 24 | MPI_Reduce_scatter | 43 | MPI_Ibcast |
| 6 | MPI_Rsend | 25 | MPI_Irecv | 44 | MPI_Waitall |
| 7 | MPI_Gather | 26 | MPI_Ssend_Init | 45 | MPI_Mrecv |
| 8 | MPI_Iscan | 27 | MPI_Ialltoall | 46 | MPI_Alltoallv |
| 9 | MPI_Ibsend | 28 | MPI_Scan | 47 | MPI_Igather |
| 10 | MPI_Rsend_init | 29 | MPI_Irsend | 48 | MPI_Waitany |
| 11 | MPI_Gatherv | 30 | MPI_Allgather | 49 | MPI_Probe |
| 12 | MPI_Iscatter | 31 | MPI_Ialltoallv | 50 | MPI_Alltoallw |
| 13 | MPI_Improbe | 32 | MPI_Scatter | 51 | MPI_Igatherv |
| 14 | MPI_Send | 33 | MPI_Isend | 52 | MPI_Waitsome |
| 15 | MPI_Iallgather | 34 | MPI_Allgatherv | 53 | MPI_Recv |
| 16 | MPI_Iscatterv | 35 | MPI_Ialltoallw | 54 | MPI_Barrier |
| 17 | MPI_Imrecv | 36 | MPI_Scatterv | 55 | MPI_Ireduce |
| 18 | MPI_Send_init | 37 | MPI_Issend |
Collect Profile Data
$ mpirun -np <number of processes> ./AMDuProfCLI collect --trace mpi --mpi-impl mpich --mpi-scope lwt -o <output_directory> <application>
After completing the tracing, the path to the session directory is displayed on the
terminal. LWT report is generated immediately after completing the collection and
saved into the session directory in:
<output_directory>/<SESSION_DIR>/mpi/lwt/mpi-summary.csv.
$ mpirun -np <number of processes> ./AMDuProfCLI collect --trace mpi --mpi-impl openmpi --mpi-scope lwt -o <output_directory> <application>
$ mpirun -np <number of processes> ./AMDuProfCLI collect --trace mpi --mpi-impl mpich --mpi-scope lwt -o <output_directory> <application>
Ensure that the correct option (mpich or openmpi)
is passed depending on the MPI implementation used for compiling the MPI
application. Passing an incorrect option might cause undefined behavior.