MPI 跟踪数据

另请参见

为何收集 MPI 跟踪数据?

收集 MPI 跟踪数据可帮助识别 MPI 程序中由于 MPI 调用导致性能问题的位置。例如,可能发生的性能问题有负载平衡、同步延迟和通信瓶颈。

收集器如何收集 MPI 跟踪数据?

收集器在实际的 MPI 函数中插入包装器函数,以跟踪调用和这些调用所花费的时间。下表列出跟踪的 MPI 函数。

MPI_Allgather MPI_Allgatherv
MPI_Allreduce MPI_Alltoall
MPI_Alltoallv MPI_Barrier
MPI_Bcast MPI_Bsend
MPI_Gather MPI_Gatherv
MPI_Irecv MPI_Isend
MPI_Recv MPI_Reduce
MPI_Reduce_scatter MPI_Rsend
MPI_Scan MPI_Scatter
MPI_Scatterv MPI_Send
MPI_Sendrecv MPI_Sendrecv_replace
MPI_Ssend MPI_Wait
MPI_Waitall MPI_Waitany
MPI_Waitsome MPI_Win_fence
MPI_Win_lock

在性能分析器中可以看到哪些 MPI 跟踪度量?

MPI 跟踪数据将被转换为以下度量:

度量 定义
MPI 接收 接收数据的 MPI 函数中的接收操作数
接收的 MPI 字节 MPI 函数中接收的字节数
MPI 发送 发送数据的 MPI 函数中的发送操作数
发送的 MPI 字节 MPI 函数中发送的字节数
MPI 时间 对 MPI 函数的所有调用花费的时间
其它 MPI 调用 对其它 MPI 函数调用的数目

以已接收或已发送形式记录的字节数是调用中给定的缓冲区大小。它可能大于接收或发送的实际字节数。在全局通信函数和集合通信函数中,发送或接收的字节数为最大数目,还要假定直接进行处理器间通信,并且无数据传输优化或数据的再发送。

同样,发送操作或接收操作数可能大于实际执行的操作数。

MPI 跟踪数据收集的限制是什么?

仅 MPI 的 Sun HPC ClusterToolsTM 软件实现支持 MPI 跟踪。

除非已经预装入抽样收集器库 libcollector.so,否则不能在已经运行的程序中收集 MPI 跟踪数据。有关详细信息,参见在正运行的进程上收集性能数据

有关详细信息,参见《程序性能分析工具》手册。

另请参见
收集性能数据

找到要找的内容了吗?如未找到,请将您的意见通过电子邮件发送至 docfeedback@sun.com。
法律声明