There is a clear requirement for the user code to be able to control the profiler dynamically at run time. This is normally used for (at least) the purposes of
| MPI_PCONTROL(level, ...) | |
| IN level | Profiling level |
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.
The provision of MPI_PCONTROL as a no-op in the standard MPI
library allows them 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.
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.
![]()
![]()
![]()
Up: Logic of the Design
Next: Examples
Previous: Logic of the Design
Return to MPI-2.1 Standard Index
Return to MPI Forum Home Page
MPI-2.0 of July 1, 2008
HTML Generated on July 6, 2008