2.0.5-beta (revision 1823)
OpenMP Pragma And Region Instrumentor
|
For manual user instrumentation the following pragmas are provided.
C/C++:
#pragma pomp inst init #pragma pomp inst begin(region_name) #pragma pomp inst altend(region_name) #pragma pomp inst end(region_name) #pragma pomp noinstrument #pragma pomp instrument
Fortran:
!$POMP INST INIT !$POMP INST BEGIN(region_name) !$POMP INST ALTEND(region_name) !$POMP INST END(region_name) !$POMP NOINSTRUMENT !$POMP INSTRUMENT
Users can specify code regions, like functions for example, with INST
BEGIN
and INST
END
. If a region contains several exit points like return/break/exit/... all but the last need to be marked with INST
ALTEND
pragmas. The INST
INIT
pragma should be used for initialization in the beginning of main, if no other initialization method is used. The NOINSTRUMENT
and INSTRUMENT
pragmas can be used to turn off or on the instrumentation of OpenMP pragmas. All pragmas between NOINSTRUMENT
and INSTRUMENT
except for parallel regions are not instrumented. Parallel regions are always instrumented to allow a correct thread management in the performance tool. See the Example Code section for an example on how to use user instrumentation.