MPI tracing is available only on Solaris platforms. MPI tracing records information about calls to MPI library functions. The event-specific data consists of high-resolution timestamps for the request and the grant (beginning and end of the call that is traced), the number of send and receive operations and the number of bytes sent or received. Tracing is done by interposing on the calls to the MPI library. The interposing functions do not have detailed information about the optimization of data transmission, nor about transmission errors, so the information that is presented represents a simple model of the data transmission, which is explained in the following paragraphs.
Some of the Global Communication functions have a single origin or a single receiving process known as the root. The accounting for such functions is done as follows:
Root sends data to all processes, itself included.
Root receives data from all processes. itself included.
Each process communicates with each process, itself included
The following examples illustrate the accounting procedure. In these examples, G is the size of the group.
For a call to MPI_Bcast(),
Root sends G packets of N bytes, one packet to each process, including itself
All G processes in the group (including root) receive N bytes
For a call to MPI_Allreduce(),
Each process sends G packets of N bytes
Each process receives G packets of N bytes
For a call to MPI_Reduce_scatter(),
Each process sends G packets of N/G bytes
Each process receives G packets of N/G bytes