This is an archive of the discontinued LLVM Phabricator instance.

[OMPT] Initialize task fields only if needed
ClosedPublic

Authored by Hahnfeld on Oct 7 2015, 12:05 AM.

Details

Summary

Because __kmp_task_init_ompt is called for every initial task in each thread and always generated task ids, this was a big performance issue on bigger systems even without any tool attached.

After changing the initialization interface to ompt_tool, we can now rely on already knowing whether a tool is attached and OMPT is enabled at this point.

Diff Detail

Repository
rL LLVM

Event Timeline

Hahnfeld updated this revision to Diff 36705.Oct 7 2015, 12:05 AM
Hahnfeld retitled this revision from to [OMPT] Initialize task fields only if needed.
Hahnfeld updated this object.
Hahnfeld added subscribers: tcramer, openmp-commits.
jmellorcrummey edited edge metadata.Oct 7 2015, 2:35 AM

LGTM. Thanks for finding and correcting this performance problem.

jlpeyton accepted this revision.Oct 9 2015, 10:35 AM
jlpeyton edited edge metadata.

LGTM as well.

This revision is now accepted and ready to land.Oct 9 2015, 10:35 AM
This revision was automatically updated to reflect the committed changes.