Page MenuHomePhabricator

Tidy statistics collection
ClosedPublic

Authored by jcownie on Aug 5 2015, 2:49 AM.

Details

Summary

This removes some statistics counters and timers which were not used,
adds new counters and timers for some language features that were not
monitored previously and separates the counters and timers into those
which are of interest for investigating user code and those which are
only of interest to the developer of the runtime itself.
The runtime developer statistics are now ony collected if the
additional #define KMP_DEVELOPER_STATS is set.

Additional user statistics which are now collected include

Count of nested parallelism (omp parallel inside a parallel
region)
Count of omp distribute occurrences
Count of omp teams occurrences
Counts of task related statistics (taskyield, task execution, task
cancellation, task steal)
Values passed to omp_set_numtheads

None of this affects code compiled without stats gathering enabled,
which is the normal library build mode.

Diff Detail

Repository
rL LLVM

Event Timeline

jcownie updated this revision to Diff 31333.Aug 5 2015, 2:49 AM
jcownie retitled this revision from to Tidy statistics collection.
jcownie updated this object.
hfinkel accepted this revision.Aug 11 2015, 1:40 AM
hfinkel edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Aug 11 2015, 1:40 AM
AndreyChurbanov added inline comments.
runtime/src/z_Linux_util.c
1904 ↗(On Diff #31333)

Should this counter be placed in kmp_resume_template instead? The kmp_resume_monitor works at shutdown time, that does not correlate well with "USER_resume" event.

This revision was automatically updated to reflect the committed changes.
jlpeyton edited edge metadata.Aug 11 2015, 2:38 PM

LGTM too.

runtime/src/z_Linux_util.c
1904 ↗(On Diff #31333)

I've moved this to kmp_resume_template() in the committed version.