next up previous contents
Next: 5 Visualization of System Up: VAMPIR: Visualization and Analysis Previous: 3 The VAMPIR Environment

4 Program Instrumentation

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.
Tue May 28 14:38:25 PST 1996