Fix the order of callbacks related to the taskloop construct.
Add the iteration_count to work callbacks (according to the spec).
Use kmpc_omp_task() instead of kmp_omp_task() to include OMPT callbacks.
Add a testcase.
Details
- Reviewers
Hahnfeld hbae omalyshe protze.joachim jlpeyton - Commits
- rGcdaefac5bd3c: [OMPT] Fix OMPT callbacks for the taskloop construct and add testcase
rOMP338146: [OMPT] Fix OMPT callbacks for the taskloop construct and add testcase
rL338146: [OMPT] Fix OMPT callbacks for the taskloop construct and add testcase
Diff Detail
Event Timeline
runtime/src/kmp_tasking.cpp | ||
---|---|---|
3970 | Why not use calculated below iterations count - tc? It is computed at lines 3980 - 3995, including the check against zero. |
runtime/src/kmp_tasking.cpp | ||
---|---|---|
3970 | There is a difference between the iteration count and the task count.
tc seems to be the task count, not the iteration count. And st(ride) is not needed for the calculation of the iteration count, right? |
runtime/src/kmp_tasking.cpp | ||
---|---|---|
3970 | No, the tc states for "trace count" which is exactly iterations count. And the stride is important here. |
Use tc for the iteration count
runtime/src/kmp_tasking.cpp | ||
---|---|---|
3970 | You're right, I updated the diff to use tc. |
Can you add another loop in the test case where this makes a difference? Maybe just Andrey's example
taskloop is actually a tasking construct and explicitly no worksharing construct. So, please move the test in the task directory.
Can we change the function name to __kmp_omp_taskloop_task?
__kmpc_* is usually for ABI functions.