MPI 跟踪仅在 Solaris 平台上可用。MPI 跟踪记录有关对 MPI 库函数的调用的信息。事件特定的数据由请求和授权的高精度时间戳(跟踪的调用的开始和结束)、发送和接收的操作数以及发送或接收的字节数组成。跟踪是通过插入对 MPI 库的调用进行的。插入函数既不具有有关数据传输优化的详细信息,也不具有有关传输误差的详细信息,因此提供的信息表示数据传输的简单模型,将在下面段落中对此进行说明。
接收的字节数是指对 MPI 函数的调用中定义的缓冲区长度。接收的实际字节数对于插入函数是不可用的。
有些全局通信函数具有单一起始点或单一接收进程(称为根)。对这样的函数进行记帐的过程如下:
根将数据发送到所有进程,包括它本身。
根从所有进程接收数据,包括它本身。
各个进程相互通信,包括它本身
以下示例说明了记帐过程。在这些示例中,G 是组的大小。
对于对 MPI_Bcast() 的调用,
根发送 N 个字节的 G 包,每个进程一个包,包括它本身
组中的所有 G 进程(包括根)接收 N 个字节
对于对 MPI_Allreduce() 的调用,
每个进程发送 N 个字节的 G 包
每个进程接收 N 个字节的 G 包
对于对 MPI_Reduce_scatter() 的调用,
每个进程发送 N/G 个字节的 G 包
每个进程接收 N/G 个字节的 G 包