[Openmp-commits] [PATCH] D23116: Do not block on explicit task depending on proxy task
Andrey Churbanov via Openmp-commits
openmp-commits at lists.llvm.org
Thu Aug 4 10:39:58 PDT 2016
AndreyChurbanov added a comment.
Jonas,
What if you add one more dependent task (not on the proxy task)? E.g.
int dep;
#pragma omp target nowait depend(out: dep)
{
sleep(1);
}
#pragma omp task depend(in: dep)
{
printf("Task with dependency\n");
}
#pragma omp task depend(out: dep)
{
printf("Another task with dependency\n");
}
printf("Doing some work...\n");
The second dependent task will be lost (unless it also has "in" dependency and thus only depends on the proxy task). It should not be hard to allow all serial dependent tasks be deferred in the presence of proxy task, just couple more changes in the
__kmp_task_finish()
routine can solve this I think. But is it what you want? If you want to only allow tasks those depend on the proxy task be deferred letting other serial dependent tasks be undeferred, then more changes may be needed. Library will need to distinguish tasks dependent on proxy task (among possible multiple dependencies) from tasks dependent on only regular tasks.
https://reviews.llvm.org/D23116
More information about the Openmp-commits
mailing list