MPI トレースは、Solaris プラットフォームでのみ利用できます。MPI トレースは、MPI ライブラリ関数の呼び出しに関する情報を記録します。イベント固有のデータは、要求と許可 (トレース対象の呼び出しの始まりと終わり) の高分解能のタイムスタンプ、および送受信動作の数と送受信バイト数で構成されます。トレースは、MPI ライブラリの呼び出しに割り込むことによって行われます。割り込み関数は、データ送信の最適化に関する情報や送信エラーに関する情報を持たないので、提示される情報は、以降で説明する単純な形でのデータ送信を表しています。
受信バイト数は、MPI 関数の呼び出しで定義されるバッファーサイズです。実際に受信したバイト数は、割り込み関数には利用できません。
一部の「大域通信」関数は、ルートと呼ばれる単一の受信プロセスまたは単一の起点を持ちます。こういった関数のアカウンティングは、次のように行われます。
ルートが、自分自身を含むすべてのプロセスにデータを送信する。
ルートが、自分自身を含むすべてのプロセスからデータを受信する。
各プロセスが自分自身を含むほかの各プロセスと通信する。
次の例は、アカウンティングの手順を示しています。これらの例における G は、グループのサイズです。
MPI_Bcast() の呼び出しの場合、
ルートは N バイトのパケット G 個を、自分自身を含む各プロセスに対して 1 個ずつ送信する。
ルートを含む、グループ内の G 個のプロセスすべてが N バイトを受信する。
MPI_Allreduce() の呼び出しの場合、
各プロセスが N バイトのパケットを G 個送信する。
各プロセスが N バイトのパケットを G 個受信する。
MPI_Reduce_scatter() の呼び出しの場合、
各プロセスが N/G バイトのパケットを G 個送信する。
各プロセスが N/G バイトのパケットを G 個受信する。