[Openmp-dev] Updating OMPT implementation

Hal Finkel via Openmp-dev openmp-dev at lists.llvm.org
Sat Jul 15 07:38:02 PDT 2017

On 07/15/2017 09:32 AM, Joachim Protze via Openmp-dev wrote:
> Hello everyone,
> as you might know, OpenMP 5.0 will include a tools interface (OMPT).
> An early prototype implementation of OMPT is already available in the 
> LLVM-openmp runtime. But the specification of OMPT evolved quite a lot 
> since this prototype implementation.
> Although it will take another year to release the final version of the 
> OpenMP 5.0 specification, we started to update the OMPT 
> implementation. The latest published version of OMPT spec is part of 
> the OpenMP 5.0 preview 1 document:
> http://www.openmp.org/wp-content/uploads/openmp-tr4.pdf
> To get an overview of the changes in the runtime, please have a look 
> on this diff against master:
> https://github.com/OpenMPToolsInterface/LLVM-openmp/pull/2
> The OpenMP tools working group was active since the TR4 document, and 
> OMPT evolved further. Although the branch is called towards_tr4, we 
> are actually implementing the latest internal specification or OMPT.
> About half of the deletions come from the removed ompt.h in 
> include/30-45. Since OMPT is part of 5.0, from our perspective it 
> makes sense to only include OMPT in version 5.0 builds.
> More then half of the additions come from OMPT specific tests.
> This mail is to let you know, that we are about to land in the near 
> future, and to discuss on how to proceed with the review process. 
> Should I create a single big Differential in Phabricator, or what 
> would you suggest?
> From my point of view, breaking the modifications down to several 
> patches would result in inconsistent implementation stages. At least 
> in stages that would not pass the tests, without modifying the tests 
> on the way.

It is best if the changes can be broken down into logically separable 
pieces, along with corresponding test updates. The tests need to pass 
after every commit, but it is easier to review smaller changes.

I'm very happy that you're continuing work in this area.

Thanks again,

> Since OMPT is integral part of OpenMP 5.0, I suggest to enable OMPT by 
> default for 5.0 builds.
> There are 2 open issues, we will not address with this patch:
> - Anything target/device-related (callbacks/functions) is developed in 
> different repositories. Also, this mainly changes libomptarget and not 
> the runtime code.
> - To enable the runtime to differentiate sections from static loops, 
> compiler support will be needed; it will need a separate discussion on 
> how to approach this issue
> I'm looking forward to your feedback.
> Best,
> Joachim

Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

More information about the Openmp-dev mailing list