next up previous
Next: OpenMP Directive Instrumentation Up: Design and Prototype of Previous: A General Performance

Proposed OpenMP Performance Tool Interface

How should a performance interface be developed to meet the goals for OpenMP? Although different interfaces are possible (see [5,10]), the basic idea behind our proposal is to define a standard API to a performance measurement library that can be used to instrument a user's OpenMP application program for monitoring OpenMP events. This instrumentation could be done by a source-to-source translation tool prior to the actual compilation or within an OpenMP compilation system. Performance tool developers then only need to implement the functions of this interface to enable their tool to measure and analyze OpenMP programs. Different measurement modes (e.g., profiling [2] and tracing [5,7,10]) can easily be accommodated in this way. Hence, the proposed performance interface does not specify how measurements are performed, only the form of the library interface.

We call the OpenMP performance API the ``POMP API'' and the corresponding performance library the ``POMP library,'' taking after the use of ``pmpi'' in the definition of the MPI profiling interface. In the following, we present various aspects of our proposal for a standardized performance tool interface using directive rewriting for its implementation. Fortran90 OpenMP 2.0 syntax is used in examples and tables. The transformations equally apply to C/C++.





Sameer Suresh Shende
Thu Aug 23 11:13:47 PDT 2001