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

Peyton, Jonathan L via Openmp-dev openmp-dev at lists.llvm.org
Fri Nov 4 09:23:00 PDT 2016


280138 isn't going to hurt anything so it is fine.  Jack are there any you would like to add?

Here is the list so far:

r278332 - Fixes for hierarchical barrier (possible hang if team size changed).
r280138 - Appease older gcc compilers for the many-microtask-args.c test
r285283 - Fixed a memory leak related to task dependencies.
r285703 - Fixed problem introduced by part of https://reviews.llvm.org/D21196.

-- Johnny

-----Original Message-----
From: Hahnfeld, Jonas [mailto:Hahnfeld at itc.rwth-aachen.de] 
Sent: Friday, November 4, 2016 2:09 AM
To: Peyton, Jonathan L <jonathan.l.peyton at intel.com>; Churbanov, Andrey <Andrey.Churbanov at intel.com>; Jack Howarth <howarth.mailing.lists at gmail.com>
Cc: openmp-dev (openmp-dev at lists.llvm.org) <openmp-dev at lists.llvm.org>
Subject: RE: [Openmp-dev] potential OpenMP library back ports for 3.9.1

Alright, I would propose the following fixes be backported for 3.9.1:
r278332 - Fixes for hierarchical barrier (possible hang if team size changed).
r285283 - Fixed a memory leak related to task dependencies.
r285703 - Fixed problem introduced by part of https://reviews.llvm.org/D21196. 
(Check Task Scheduling Constraint (TSC) on stealing of untied task.)

Additionally, I don't know if this one is needed - Johnny?
r280138 - Appease older gcc compilers for the many-microtask-args.c test

Greetings,
Jonas

> -----Original Message-----
> From: Peyton, Jonathan L [mailto:jonathan.l.peyton at intel.com]
> Sent: Thursday, November 03, 2016 6:05 PM
> To: Hahnfeld, Jonas; Churbanov, Andrey; Jack Howarth
> Cc: openmp-dev (openmp-dev at lists.llvm.org)
> Subject: RE: [Openmp-dev] potential OpenMP library back ports for 3.9.1
>
> For clarity, can a simple list be made like:
>
> r278332 - patch title or small description
> r277991 - patch title or small description
> r277992 - patch title or small description ...
>
> Then we can take some out, put some in, and then request the final list be
> put in to 3.9.1?
>
> -- Johnny
>
> -----Original Message-----
> From: Hahnfeld, Jonas [mailto:Hahnfeld at itc.rwth-aachen.de]
> Sent: Wednesday, November 2, 2016 2:56 AM
> To: Churbanov, Andrey <Andrey.Churbanov at intel.com>; Jack Howarth
> <howarth.mailing.lists at gmail.com>; Peyton, Jonathan L
> <jonathan.l.peyton at intel.com>
> Cc: openmp-dev (openmp-dev at lists.llvm.org) <openmp-
> dev at lists.llvm.org>
> Subject: RE: [Openmp-dev] potential OpenMP library back ports for 3.9.1
>
> 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.


More information about the Openmp-dev mailing list