This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] libomp: fix mutexinoutset dependence for proxy tasks
ClosedPublic

Authored by AndreyChurbanov on Nov 30 2020, 8:02 AM.

Details

Summary

Once kmp_task_finish is not executed for proxy tasks,
move mutexinoutset dependency code to
kmp_release_deps
which is executed for all task kinds.

Diff Detail

Event Timeline

AndreyChurbanov requested review of this revision.Nov 30 2020, 8:02 AM
tianshilei1992 accepted this revision.Nov 30 2020, 11:55 AM
tianshilei1992 added a subscriber: tianshilei1992.

LGTM.

openmp/runtime/src/kmp_taskdeps.h
93

Why is it "unlikely"? Because mutexinoutset is a rare case?

This revision is now accepted and ready to land.Nov 30 2020, 11:55 AM
openmp/runtime/src/kmp_taskdeps.h
93

Why is it "unlikely"? Because mutexinoutset is a rare case?

Right. We still haven't seen real code that uses mutexinoutset dependence. Even if such code exist there are much more codes those do not use mutexinoutset. So the performance of this code block looks lesser priority comparing to quicker skip the code when it is not needed.

This revision was landed with ongoing or failed builds.Nov 30 2020, 1:14 PM
This revision was automatically updated to reflect the committed changes.
tianshilei1992 added inline comments.Nov 30 2020, 5:24 PM
openmp/runtime/src/kmp_taskdeps.h
93

Gotcha. Thanks for the information.