[Openmp-dev] Updating OMPT implementation
Joachim Protze via Openmp-dev
openmp-dev at lists.llvm.org
Sat Jul 15 07:32:38 PDT 2017
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.
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
--
Dipl.-Inf. Joachim Protze
IT Center
Group: High Performance Computing
Division: Computational Science and Engineering
RWTH Aachen University
Seffenter Weg 23
D 52074 Aachen (Germany)
Tel: +49 241 80- 24765
Fax: +49 241 80-624765
protze at itc.rwth-aachen.de
www.itc.rwth-aachen.de
More information about the Openmp-dev
mailing list