[Openmp-dev] OMPT on Windows

Malysheva, Olga Olga.Malysheva at intel.com
Thu Jun 4 05:42:19 PDT 2015


Hi Jonas,

How do you intend to support OMPT on Windows?
The code currently committed to the project can be compiled only on unix-like systems due to the attribute 'weak' specified for the initialization function (in ompt-general.c):

_OMP_EXTERN __attribute__ (( weak ))
int ompt_initialize(ompt_function_lookup_t ompt_fn_lookup, const char *version,
                    unsigned int ompt_version)
{
    return no_tool_present;
}

Thank you.

Regards,
Olga

-----Original Message-----
From: openmp-dev-bounces at cs.uiuc.edu [mailto:openmp-dev-bounces at cs.uiuc.edu] On Behalf Of Hahnfeld, Jonas
Sent: Thursday, April 9, 2015 4:25 PM
To: 'openmp-dev at dcs-maillist2.engr.illinois.edu'
Cc: John Mellor-Crummey (johnmc at rice.edu); Cramer, Tim
Subject: [Openmp-dev] Patches to support OMPT

Hi all!

After some months of work, we would like to share our patches to add support for OMPT[1] to this version of the Intel runtime.
Implementation was mainly done by John Mellor-Crummey from Rice University in a repository at Google Code[2].

Support for OMPT is disabled by default and therefore has to be enabled
explicitly:
With CMake, define "ompt-support": $ cmake -Dompt-support=true ..
build.pl works nearly the same: $ make build_args="--ompt-support=on"
With this switch, ompt-blame and ompt-trace will be enabled as well which can be disabled separately.

We've uploaded the patches to LLVM's Phabricator. Some short explanation:
0001-kmp_lock-Change-return-type-of-release-functions-fro.patch[3]
This is a preparation patch to get information about the actual release status from nested locks.

0002-Add-new-files-for-OMPT.patch[4]
This patch contains the new files for OMPT and the needed changes to the build infrastructure.

0003-Modify-runtime-to-call-correct-functions-for-OMPT.patch[5]
These are the actual changes in the runtime to issue OMPT-related functions.
All of them are surrounded by #if OMPT_SUPPORT and can be disabled (which is the default).

The implementation is tested with the OMPT-TestSuite[6] and conforms with the OpenMP's 2nd Technical Report[1].
Additionally we ran the OpenMP Validation Suite contained in this repository to make sure that nothing broke.

Please review and commit if found suitable.
We know that these are rather big patches (for a big feature), but we couldn't come up with a better splitting.

>From Aachen,
Tim Cramer and Jonas Hahnfeld

[1]: http://openmp.org/mp-documents/ompt-tr2.pdf
[2]: https://code.google.com/p/ompt-intel-openmp/
[3]: http://reviews.llvm.org/D8916
[4]: http://reviews.llvm.org/D8917
[5]: http://reviews.llvm.org/D8918
[6]: https://code.google.com/p/ompt-test-suite/


--
Jonas Hahnfeld, MATSE-Auszubildender

IT Center
Group: High Performance Computing
Division: Computational Science and Engineering RWTH Aachen University Seffenter Weg 23 D 52074  Aachen (Germany) Hahnfeld at itc.rwth-aachen.de<mailto:Hahnfeld at itc.rwth-aachen.de> www.itc.rwth-aachen.de<http://www.itc.rwth-aachen.de>




--------------------------------------------------------------------
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20150604/9bbd83ca/attachment.html>


More information about the Openmp-dev mailing list