[Openmp-dev] potential OpenMP library back ports for 3.9.1

Hahnfeld, Jonas via Openmp-dev openmp-dev at lists.llvm.org
Wed Nov 2 00:56:07 PDT 2016


Hmm, so r277991 and r277992 would also need
---
Author: hahnfeld
Date: Mon Aug  8 06:52:49 2016
New Revision: 277996

URL: http://llvm.org/viewvc/llvm-project?rev=277996&view=rev
Log:
Mark tests with task dependencies as unsupported with GCC
---
or we will get failing tests with GCC! I would rather opt to *not* backport 
all these fixes because proxy tasks are a feature which is not yet used by any 
part of LLVM. (Intel uses it in their compiler but I think they track the 
current trunk anyway...)

I think that most of the commits since the branching were bug fixes that would 
in theory qualify for a point release. When only paying attention to those 
bugs that may be triggered with Clang: (also excluding libgomp compatibility)
---
Author: achurbanov
Date: Thu Aug 11 08:04:00 2016
New Revision: 278332

URL: http://llvm.org/viewvc/llvm-project?rev=278332&view=rev
Log:
Fixes for hierarchical barrier (possible hang if team size changed).

Differential Revision: http://reviews.llvm.org/D23175
---
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.
---
Author: achurbanov
Date: Tue Nov  1 11:19:04 2016
New Revision: 285703

URL: http://llvm.org/viewvc/llvm-project?rev=285703&view=rev
Log:
Fixed problem introduced by part of https://reviews.llvm.org/D21196.

Check Task Scheduling Constraint (TSC) on stealing of untied task.
This is needed because the untied task can produce tied children those can 
break TSC if untied is not a descendant of current task.
This can cause live lock on complex tyasking tests (e.g. 
kastors/strassen-task-dep).

Differential Revision: https://reviews.llvm.org/D26182
---

Additionally, I don't know which versions of GCC require this one: (it wasn't 
in 3.9.0)
---
Author: jlpeyton
Date: Tue Aug 30 14:28:58 2016
New Revision: 280138

URL: http://llvm.org/viewvc/llvm-project?rev=280138&view=rev
Log:
Appease older gcc compilers for the many-microtask-args.c test

Older gcc compilers error out with the C99 syntax of: for (int i =...) so this 
change just moves the int i; declaration up above.
---

Regards,
Jonas

> -----Original Message-----
> From: Churbanov, Andrey [mailto:Andrey.Churbanov at intel.com]
> Sent: Monday, October 31, 2016 3:06 PM
> To: Jack Howarth; Peyton, Jonathan L; Hahnfeld, Jonas
> Cc: openmp-dev (openmp-dev at lists.llvm.org)
> Subject: RE: [Openmp-dev] potential OpenMP library back ports for 3.9.1
>
> As these are bug fixes they may worth adding to the branch.
>
> I'd also note that the r277991, if accepted, should better be accompanied by
> the following correction r284747:
>
> Author: achurbanov
> Date: Thu Oct 20 12:14:17 2016
> New Revision: 284747
>
> URL: http://llvm.org/viewvc/llvm-project?rev=284747&view=rev
> Log:
> Fixed memory leak mistakenly introduced by
> https://reviews.llvm.org/D23115
>
> Differential Revision: http://reviews.llvm.org/D25510
>
>
> - Andrey
>
> -----Original Message-----
> From: Openmp-dev [mailto:openmp-dev-bounces at lists.llvm.org] On Behalf
> Of Jack Howarth via Openmp-dev
> Sent: Monday, October 31, 2016 4:14 PM
> To: Peyton, Jonathan L <jonathan.l.peyton at intel.com>; openmp-dev
> (openmp-dev at lists.llvm.org) <openmp-dev at lists.llvm.org>
> Subject: [Openmp-dev] potential OpenMP library back ports for 3.9.1
>
> 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.
> _______________________________________________
> Openmp-dev mailing list
> Openmp-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>
> --------------------------------------------------------------------
> Joint Stock Company Intel A/O
> Registered legal address: Krylatsky Hills Business Park,
> 17 Krylatskaya Str., Bldg 4, Moscow 121614, Russian Federation
>
> This e-mail and any attachments may contain confidential material for the
> sole use of the intended recipient(s). Any review or distribution by others 
> is
> strictly prohibited. If you are not the intended recipient, please contact 
> the
> sender and delete all copies.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5868 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20161102/e4cea2de/attachment-0001.bin>


More information about the Openmp-dev mailing list