[Openmp-dev] potential OpenMP library back ports for 3.9.1
Jack Howarth via Openmp-dev
openmp-dev at lists.llvm.org
Mon Oct 31 06:14:18 PDT 2016
Jonathan,
Do any of these commits merit back porting to openmp 3.9 branch
for the 3.9.1 release?
Jack
Author: hahnfeld
Date: Mon Aug 8 05:08:07 2016
New Revision: 277991
URL: http://llvm.org/viewvc/llvm-project?rev=277991&view=rev
Log:
__kmp_free_task: Fix for serial explicit tasks producing proxy tasks
Consider the following code which may be executed by a serial team:
int dep;
#pragma omp target nowait depend(out: dep)
{
sleep(1);
}
#pragma omp task depend(in: dep)
{
#pragma omp target nowait
{
sleep(1);
}
}
Here the explicit task may not be freed until the nested proxy task has
finished. The current code hasn't considered this and called __kmp_free_task
anyway which triggered an assert because of remaining incomplete children:
KMP_DEBUG_ASSERT( TCR_4(taskdata->td_incomplete_child_tasks) == 0 );
Differential Revision: https://reviews.llvm.org/D23115
------------------------
Author: hahnfeld
Date: Mon Aug 8 05:08:14 2016
New Revision: 277992
URL: http://llvm.org/viewvc/llvm-project?rev=277992&view=rev
Log:
Do not block on explicit task depending on proxy task
Consider the following code:
int dep;
#pragma omp target nowait depend(out: dep)
{
sleep(1);
}
#pragma omp task depend(in: dep)
{
printf("Task with dependency\n");
}
printf("Doing some work...\n");
In its current state the runtime will block on the second task and not
continue execution.
Differential Revision: https://reviews.llvm.org/D23116
------------------------
Author: achurbanov
Date: Thu Oct 27 06:43:07 2016
New Revision: 285283
URL: http://llvm.org/viewvc/llvm-project?rev=285283&view=rev
Log:
Fixed a memory leak related to task dependencies.
Differential Revision: http://reviews.llvm.org/D25504
Patch by Alex Duran.
More information about the Openmp-dev
mailing list