Tobias Burnus wrote:
Sandra Loosemore wrote:
FWIW, though, my preference would be to replace these two options with a single option that takes an argument, like -fopenmp-ompt=none, -fopenmp-ompt=basic, and -fopenmp-ompt=details, and -fopenmp-ompt being a synonym for -fopenmp-ompt=basic, and -fno-openmp-ompt for -fopenmp-ompt=none -- especially if more kinds of tracing or finer-grained control are anticipated in the future.

I don't think that we will see finer control. The idea is:
-fopenmp
    add no additional runtime calls but have a decent OMPT support

-fopenmp -fopenmp-ompt
    Additional calls that have a low overhead but a larger benefit
    Namely: instead of telling the tool only when something begins,
    also tell it when it ends.

-fopenmp -fopenmp-ompt-detailed
    Add more expensive calls, usually not needed but if one really
    wants to drill down and does not fear a higher overhead

And I have a hard time imagine an additional option here.


Otherwise, I think combining the two and supporting
  (-fno-openmp-ompt )
   -fopenmp-ompt
   -fopenmp-ompt=detailed
would look better in the documentation than having two
separate options.

However, the -fopenmp-ompt=basic and -fopenmp-ompt=none
are a bit odd:

-fopenmp-ompt=none in particular but also -fno-openmp-ompt
are a bit strange as - despite 'none' / 'no' - OMPT is still
mostly handled, just some additional details aren't reported
to the tool.

Likewise, -fopenmp=basic is not the minimal support, even if
'basic' implies this but already provides something extra,
albeit less than with 'detailed'.

* * *

I am fine with combing the two options into one - but I am not
planing to implement it.


(On the bike-shedding side: basic, extended, detailed
would also work, albeit basic == -fno-openmp-ompt looks odd.
And extended vs. detailed has no clear ordering regarding
which provides more data and whether one includes the other or
not.)

I am happy to implement an improved version of the -fopenmp-ompt option but I would like to reach consensus before actually writing a patch.

*What about the following*

Having a single option still called '-fopenmp-ompt' that takes an argument. Possible values would be 'minimal' (default), 'basic' and 'extended'. Make it RejectNegative to disallow -fno-openmp-ompt. -fopenmp implies -fopenmp-ompt[=minimal]. -fopenmp-ompt still requires -fopenmp (no change).

*Rationale*

In GCC, OMPT is implemented in three tiers, hence three possible values for the argument. But it is not possible to completely opt out, hence 'minimal' rather than 'none', and RejectNegative as -fno-openmp-ompt does not make sense.

What do you think?
--
PA

Reply via email to