[Openmp-dev] Removing spec versioning from the OpenMP runtime

Johannes Doerfert via Openmp-dev openmp-dev at lists.llvm.org
Thu May 21 10:28:11 PDT 2020


On 5/21/20 12:04 PM, Joachim Protze via Openmp-dev wrote:
> Hi all,
>
> sorry for necromancing on this thread :D
>
> I came across this issue, when working on an OMPT example for the 
> OpenMP Examples document. Currently, the runtime would print 
> _OPENMP='201611', when exporting OMP_DISPLAY_ENV=1.
> This is other than the value of _OPENMP=201511 during compilation. 
> Furthermore, 201611 is not a value defined in any spec.
>
> I had a discussion about OpenMP versions with Michael Klemm (OpenMP 
> CEO / Intel) a while ago. From his perspective OpenMP compiler and 
> runtime should always be seen as one paired thing.
> So, if the compiler supports and exposes different behavior for 
> different OpenMP versions, the runtime should be aware of that.
>
> So, if we try to implement differently specified behavior (as 
> suggested by -fopenmp-version=51), the proper thing to do from my 
> perspective would be to pass on the compile time version to the runtime.
> The runtime then "could" do specific things at execution time. At 
> least, the runtime would print out the right version string for 
> OMP_DISPLAY_ENV=1.
>
> What do you think about this? How can we make this work? 

We could encode it in the ident_t which should also solve the issue

with mixing openmp versions during compile time.



> Best
> Joachim
>
>
> Am 14.02.19 um 21:02 schrieb Wilmarth, Terry L via Openmp-dev:
>> Since there are no objections to this, we'll start on it soon.
>> Thanks for the feedback!
>>
>> -----Original Message-----
>> From: Jonas Hahnfeld [mailto:hahnjo at hahnjo.de]
>> Sent: Thursday, February 7, 2019 1:39 AM
>> To: Wilmarth, Terry L <terry.l.wilmarth at intel.com>
>> Cc: LLVM-OpenMP (openmp-dev at lists.llvm.org) <openmp-dev at lists.llvm.org>
>> Subject: Re: [Openmp-dev] Removing spec versioning from the OpenMP 
>> runtime
>>
>> Hi Terry,
>>
>> I'm in favor as suggested in https://reviews.llvm.org/D55496.
>> To add another argument that was raised in that review: Currently the 
>> tests need to be versioned as well, which is another maintenance burden.
>>
>> Cheers,
>> Jonas
>>
>> On 2019-02-06 20:13, Wilmarth, Terry L via Openmp-dev wrote:
>>> Hello,
>>>
>>> We're considering removing all of the spec versioning in the runtime.
>>> This is the set of spec-version-numbered #ifdefs throughout the
>>> runtime (such as OMP_40_ENABLED, OMP_45_ENABLED, OMP_50_ENABLED, etc.)
>>> that make it possible to build earlier versions of the runtime that
>>> are compliant with a certain spec version, via LIBOMP_OMP_VERSION.
>>>
>>> The main reasons to remove this:
>>>
>>> 1)      No one seems to be using the spec-version builds.
>>>
>>> 2)      The #ifdefs are often not well-maintained or correctly added.
>>>
>>> 3)      The #ifdefs add clutter to the source.
>>>
>>> We'd like to get some feedback on removing this.  If we're generally
>>> in agreement that it should be removed, we'll start work on the
>>> cleanup.
>>>
>>> Thanks!
>>>
>>> Terry
>>>
>>> Terry L. Wilmarth
>>> terry.l.wilmarth at intel.com   512-362-0530
>>> Intel/Threading Runtimes
>>> _______________________________________________
>>> Openmp-dev mailing list
>>> Openmp-dev at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>> _______________________________________________
>> Openmp-dev mailing list
>> Openmp-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>>
>
> _______________________________________________
> Openmp-dev mailing list
> Openmp-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev


More information about the Openmp-dev mailing list