Escali 4.4 User Manual

Page of 81
Scali MPI Connect Release 4.4 Users Guide 
41
From time to time it may be desirable or feasible to trace only one or a few of the processes. 
Specifying the "-p" options offers the ability to pick the processes to be traced. 
All MPI-calls are enabled for tracing by default. To view only a few calls, specify a "-t <call-
list>" option
; to exclude some calls, add a "-x <call-list>" option. The "-t" will disable all 
tracing and then enable those calls that match the <call-list>. The matching is done using 
"regular-posix-expression"-syntax. "-x" will lead to the opposite; first enable all tracing and 
then disable those call matching <call-list>. 
Examples: 
"-t MPI_Irecv" : Trace only immediate recv (MPI_Irecv)  
"-t isend;irecv;wait" :Trace only MPI_Isend, MPI_Irecv and MPI_Wait  
"-t MPI_[b,r,s]*send" : Trace only send-calls (MPI_Send, MPI_Bsend, MPI_Rsend, MPI_Ssend)
"-t i[a-z]*" : Trace only calls beginning with MPI_I
4.3 Timing
Timing will give you information about which MPI routines were called and how long the MPI 
calls took. This information is printed at intervals set by the user with the “-s n” option, where 
n if the number of seconds. 
4.3.1 Using Scali MPI Connect built-in timing
To use the built-in timing functionality in SMC, the mpimon-option -timing "<options>" must 
be set, specifying which options are to be applied. 
The following options can be specified: 
(<...-list> is a semicolon-separated list of Posix-regular-expressions.) 
-s <seconds>
print for intervals of <seconds>seconds
-c <calls>
print for intervals of <calls>MPI_calls
-m <mode>
special mode for timing 
<mode> = ”sync”: Synchronize with MPI_Barrier before starting 
collective call
-p <selection>
enable for process(es) 'n,m,o..' = (list) or 'n-m' = (range) or 'all'
-f <call-list>
Print after MPI_calls in <call-list>: MPI_call = 'MPI_call' | 'call'
-v
verbose
-h
print this list of options
Printing of timing-information can be either at a fixed time-interval, if "-s <seconds>" is 
specified, or for a fixed number-of-calls-interval, if "-c <calls>" ia used. It is also possible to 
obtain output after specific MPI-calls by using "-f <call-list>"; see above for details on how to 
write <call-list>.
The output has two parts: a timing-part and a buffer-statistics-part.
The first part has the following layout:  
All lines start with <rank>: where <rank>: is rank within MPI_COMM_WORLD. This part is 
included to facilitate separation of output (grep). 
Example: 
user% SCAMPI_TIMING=”-s 1” mpimon ./kollektive-8 ./uf256-8.pgm -- r1 r2
where '<seconds>' is the number of seconds per printout from Scali MPI Connect produces:
 1: 13.26.10       -------------Delta----------  ---------Total----------
 1: Init+0.002659 s    #calls    time   tim/cal  #calls    time   tim/cal
 1: MPI_Bcast               2  169.0us   84.5us       2  169.0us   84.5us