« Return to documentation listing
Table of Contents
MPI_Pcontrol - Controls profiling.
#include <mpi.h>
int MPI_Pcontrol(const int level, ... )
INCLUDE ’mpif.h’
MPI_PCONTROL(LEVEL)
INTEGER LEVEL
#include <mpi.h>
void Pcontrol(const int level, ...)
- level
- Profiling level.
MPI libraries themselves
make no use of this routine; they simply return immediately to the user
code. However the presence of calls to this routine allows a profiling package
to be explicitly called by the user.
Since MPI has no control of the implementation
of the profiling code, we are unable to specify precisely the semantics
that will be provided by calls to MPI_Pcontrol. This vagueness extends to
the number of arguments to the function, and their datatypes.
However to
provide some level of portability of user codes to different profiling
libraries, we request the following meanings for certain values of level:
- o
- level==0 Profiling is disabled.
- o
- level==1 Profiling is enabled at a normal default level of detail.
- o
- level==2 Profile buffers are flushed. (This may be a no-op in some profilers).
- o
- All other values of level have profile library-defined effects and additional
arguments.
We also request that the default state after MPI_Init has been
called is for profiling to be enabled at the normal default level (i.e.,
as if MPI_Pcontrol had just been called with the argument 1). This allows
users to link with a profiling library and obtain profile output without
having to modify their source code at all.
The provision of MPI_Pcontrol
as a no-op in the standard MPI library allows users to modify their source
code to obtain more detailed profiling information, but still be able to
link exactly the same code against the standard MPI library.
This
routine provides a common interface for profiling control. The interpretation
of level and any other arguments is left to the profiling library.
This
function does not return an error value. Consequently, the result of calling
it before MPI_Init or after MPI_Finalize is undefined.
Table of Contents
« Return to documentation listing
|