[llvm-bugs] [Bug 37737] New: taskgroup surrounding a taskloop
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jun 7 09:10:58 PDT 2018
https://bugs.llvm.org/show_bug.cgi?id=37737
Bug ID: 37737
Summary: taskgroup surrounding a taskloop
Product: OpenMP
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Clang Compiler Support
Assignee: unassignedclangbugs at nondot.org
Reporter: protze at itc.rwth-aachen.de
CC: llvm-bugs at lists.llvm.org
When working on the OMPT events for taskloops, we reallized that currently the
clang compiler creates two nested taskgroups for an OpenMP taskloop.
The test case is at the end of this phabricator review:
https://reviews.llvm.org/D47709
In case there is no `nogroup` clause present, the compiler adds a
`__kmpc_taskgroup` call before the `__kmpc_taskloop` call and then passes 0 to
the nogroup argument of the `__kmpc_taskloop` call. The runtime internally also
calls `__kmpc_taskgroup` in the case that `nogroup==0`. This leads to the two
nested taskgroups, we observed.
This is the current interface documentation on __kmpc_taskloop:
@param nogroup Flag, 1 if nogroup clause specified, 0 otherwise
While this is not a correctness issue, it might improve the performance if we
remove one taskgroup.
I see 2 solutions:
- clang does not create the __kmpc_taskgroup calls (like icc does)
- clang passes always `nogroup=1`, and we update the interface documentation
to:
@param nogroup Flag, 1 if no taskgroup needs to be added, 0 otherwise
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180607/ebfd78fc/attachment.html>
More information about the llvm-bugs
mailing list