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.