[Openmp-commits] Switch to TLS for POWER

Churbanov, Andrey Andrey.Churbanov at intel.com
Fri Jul 3 01:22:54 PDT 2015


The library part of changes LGTM
(I mean threadprivate-path2).

Sorry for the late response, we still have some issues in the library related 
to the C++ thread_local, to be investigated further.

- Andrey

> -----Original Message-----
> From: openmp-commits-bounces at cs.uiuc.edu [mailto:openmp-commits-
> bounces at cs.uiuc.edu] On Behalf Of Hal Finkel
> Sent: Friday, July 03, 2015 1:53 AM
> To: Alexandre Eichenberger
> Cc: openmp-commits at dcs-maillist2.engr.illinois.edu
> Subject: Re: [Openmp-commits] Switch to TLS for POWER
> 
> Alexandre,
> 
> This needs to be committed at the same time as the Clang patch to keep
> everything working, correct?
> 
>  -Hal
> 
> ----- Original Message -----
> > From: "Alexandre Eichenberger" <alexe at us.ibm.com>
> > To: openmp-commits at dcs-maillist2.engr.illinois.edu
> > Sent: Thursday, June 4, 2015 7:40:46 AM
> > Subject: [Openmp-commits] Switch to TLS for POWER
> >
> >
> > I would like to request switching the threadprivate scheme to TLS
> > (Thread Level Storage) for POWER before we get legacy code out there.
> > Individual
> > measurements has shown TLS to have about 10x lower overhead (number
> > may change depending to the TLS scheme). TLS is also used by other
> > compilers (e.g. XL) and thus provide better interoperability.
> >
> > Approach is relatively simple: compiler still generate a call to
> > register the constructors and the destructors, but the functions
> > calling the constructor/destructors have been changed a bit so that
> > the compiler call the constructor on the TLS version of the object
> > (not the global one, as it currently is in KMP). Then, prior to
> > starting a parallel function, the workers check if there are no new
> > constructors/destructors that have been registered; if there are, they
> > will call the constructors prior to starting the parallel region.
> > Destructors are called when killing a worker thread.
> >
> > KMP code change have been done (exclusively under #def for power
> > architecture), LLVM changes have been done, code has been tested.
> > Commit
> > will need to be coordinated with the LLVM changes, which must go at
> > the same time.
> >
> > If there is interest, and no code legacy issue, this patch could also
> > be applied for other architectures that have TLS support.
> >
> > Alexandre
> >
> > (See attached file: june3-threadprivate-patch)
> > _______________________________________________
> > Openmp-commits mailing list
> > Openmp-commits at dcs-maillist2.engr.illinois.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/openmp-commits
> >
> 
> --
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
> _______________________________________________
> Openmp-commits mailing list
> Openmp-commits at dcs-maillist2.engr.illinois.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/openmp-commits

--------------------------------------------------------------------
Closed 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-commits mailing list