[Openmp-commits] [PATCH] D77609: [OpenMP][WIP] Added the support for unshackled task in RTL
Shilei Tian via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Tue Aug 25 13:16:45 PDT 2020
tianshilei1992 added inline comments.
================
Comment at: openmp/runtime/src/kmp_tasking.cpp:965
+#endif
__kmp_release_deps(gtid, taskdata);
} else if (task_team && task_team->tt.tt_found_proxy_tasks) {
----------------
adurang wrote:
> Calling release_deps from the unshackle thread will result in the tasks being released from the graph to be queued in the unshackle thread and not the original team which is wrong. You'd need to use here the original gtid but I'm not sure of the consequences of 'impersonating' a thread in that code ptah.
I see the problem here. Will figure out a way to fix it.
================
Comment at: openmp/runtime/src/kmp_tasking.cpp:3771
+ if (task_team)
+ while (KMP_ATOMIC_LD_ACQ(&task_team->tt.tt_unfinished_unshackled_tasks))
+ ;
----------------
adurang wrote:
> It seems to me that this is forcing any taskwait (and possibly taskgroup) to wait for any outstanding "async target" that exist on the team irrespectively of being a part of that synchronization domain or not.
Not any async target. Only those created in the team.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77609/new/
https://reviews.llvm.org/D77609
More information about the Openmp-commits
mailing list