Next: Prototype Implementation
Up: Proposed OpenMP Performance
Previous: Implementation Issues
While we think that the proposal outlined so far is reasonably complete,
there are additional issues which need further discussion. Here, we try
to briefly summarize the issues we are aware of:
- Do we need instrumentation for the OpenMP ORDERED and
FLUSH?
- Do we need instrumentation of single iterations of PARALLEL DO
(parallel for) loops? This would potentially allow the
influence of OpenMP loop iteration scheduling policies to be measured,
but only when iterations are of a sufficient granularity.
- Do we need a way to allow users to pass additional information to the
POMP interface? Besides using POMP conditional
compilation (see Section 3.6), we might consider
extending the !$OMP INST BEGIN and END directive
(see Section 3.4) to optionally allow to pass the address
of a user variable:

The pomp_begin and pomp_end routines would have
an additional void* typed second parameter which would be
NULL if the user did not specify a variable. This way, the user
could pass additional information to the POMP API functions,
which would be ignored in general implementations but could be utilized
in (user-supplied) special versions. It is also possible to allow
passing user information to the other (all) POMP API functions,
but this requires further directives / pragmas.
- Do we need additional OpenMP runtime level instrumentation or
is it enough to observe OpenMP behavior on the source code level?
Sameer Suresh Shende
Thu Aug 23 11:13:47 PDT 2001