The MPI standard ([MPI95]) specifies a profiling interface that every standard-compliant MPI implementation must provide. Using this interface, wrapper routines can be registered that trace the execution of every MPI routine.
VAMPIR provides a TraceGenerator library on top of this profiling interface to generate traces of MPI communicator, point-to-point and collective communication routines. This part of VAMPIR can work with each standard-compliant MPI implementation, and supports both C and Fortran 77 applications.
To trace additional information like subroutine entry/exit, the PARvis.inst instrumentation tool for Fortran 77 has been developed at KFA Jülich based on the Paff [Ber89] preprocessor. The command
PARvis.inst [options] file_name [file_name]
automatically instruments the Fortran 77 programs specified on the
command line. Flexible options are provided to generate wrapper
routines for system and application routines, and tracing of a particular
routine can be switched off by just marking that routine as
non-traceable. Control directives are supported to start and stop the
trace gathering, and in addition an upper bound on the tracefile
length can be specified by the user. All directives start with the
prefix CKFA$ TRACE
.
For C applications, a library interface to the TraceGenerator will be supplied that allows to insert instrumentation instructions either manually or with the help of the C preprocessor.