Section: 4.4 Using the scanalyze
Scali MPI Connect Release 4.4 Users Guide 43
"Receive lines" has the following fields:
<Comm><rank> recv from <from>(<worldFrom>):<commonFields>
where
<Comm> is the communicator being used
<rank> is the rank within <Comm>
<from> is the rank within <Comm>
<worldFrom> is the rank within MPI_COMM_WORLD
"Send-lines" has the following fields:
<Comm><rank> send to <to>(<worldTo>):<commonFields>
where
<Comm> is the communicator being used
<rank> is the rank within <Comm>
<to> is the rank within <Comm>
<worldTo> is the rank within MPI_COMM_WORLD
The <commonFields> are as follows:
!<count>!<avrLen>!<zroLen>!<inline>!<eager>!<transporter>!
where
<count> is the number of sends/receives
<avrLen> is the average length of messages in bytes
<zroLen> is the number of messages sent/received using the zero-bytes
mechanism
<inline> is the number of messages sent/received using the inline
mechanism
<eager> is the number of messages sent/received using the eagerbuffer
mechanism
<transporter> is the number of messages sent/received using the transporter
mechanism
More details on the different mechanisms can be found in “Description of Scali MPI Connect”
on page 11.
4.4 Using the scanalyze
Tracing and timing the image processing example above produced little data, and interpreting
the data posed little problem. However, most applications run for longer time, with
correspondingly larger logs as a result; output from tracing and timing with Scali MPI Connect
easily amounts to megabytes of data.
In order to extract information from the huge amount of data, Scali has developed a simple
analysis tool called scanalyze. This analysis tool accept output from SMC applications run with
certain predefined trace and timing variables set.
4.4.1 Analysing all2all
The all2all program in /opt/scali/examples/bin is a simple communication benchmark, but
tracing and timing it produces massive log files. For example running
user% SCAMPI_TRACE=”-f arg;timing” mpimon ./all2all -- r1 r2
on a particular system produced a 2354159 byte log file, while running