[Openmp-dev] Enabling OMPT by default

Jonas Hahnfeld via Openmp-dev openmp-dev at lists.llvm.org
Wed Dec 20 02:18:54 PST 2017


We could certainly do that, but if ARM (or some related companies) are 
interested in testing, they should donate the hardware or we should 
reuse the existig LLVM build slaves. (In the same way it would be good 
for Intel to setup testing with their proprietary compiler - I'll send a 
message about that after the holidays in January).

Jonas

Am 2017-12-20 10:27, schrieb Joachim Protze:
> Banana Pi M64 comes with 64bit arm. They are ~100 €/$. Probably,
> Jonas can set up the testing once he is back😀
> 
> -Joachim
> 
> Am 20.12.2017 10:16 schrieb "Cownie, James H via Openmp-dev"
> <openmp-dev at lists.llvm.org>:
> 
>>> I think we don't have access to an ARM machine to test ourselves
>> There was someone on Twitter the other day running OpenMP code on
>> his Raspberry Pi (using "Raspbian",
>> I assume since he had a Linux environment) so it may be possible to
>> add ARM to your testing environment
>> at little monetary cost. (Of course the time cost to get it all
>> working may be non-trivial, but the
>> hardware cost seems under 100Euro).
>> 
>> That would be a 32bit ARM, not AARCH64, but still better than
>> nothing.
>> 
>> -- Jim
>> 
>> Jim Cownie <james.h.cownie at intel.com>
>> SSG/DPD/TCAR (Technical Computing, Analyzers, and Runtimes)
>> Tel: +44 117 9071438 [1]
>> 
>> -----Original Message-----
>> From: Openmp-dev [mailto:openmp-dev-bounces at lists.llvm.org] On
>> Behalf Of Jonas Hahnfeld via Openmp-dev
>> Sent: Tuesday, December 19, 2017 6:52 PM
>> To: Paul Osmialowski <pawel.osmialowski at foss.arm.com>
>> Cc: openmp-dev at lists.llvm.org
>> Subject: Re: [Openmp-dev] Enabling OMPT by default
>> 
>> Am 2017-12-19 15:15, schrieb Paul Osmialowski:
>>> Nah, it blocks forever on nested_lwt.c when I started it on
>> 96-cores
>>> ARMv8.1 machine.
>> 
>> Can you get us a stack trace? I think we don't have access to an ARM
>> machine to test ourselves but we might be able to guess based on the
>> implementation.
>> 
>>> BTW, the missing part of callbacks.h for tests I added like this:
>>> 
>>> diff --git a/runtime/test/ompt/callback.h
>>> b/runtime/test/ompt/callback.h
>>> index 8481fb4..9a560aa 100755
>>> --- a/runtime/test/ompt/callback.h
>>> +++ b/runtime/test/ompt/callback.h
>>> @@ -105,6 +105,11 @@ ompt_label_##id:
>>> #define print_possible_return_addresses(addr) \
>>> printf("%" PRIu64 ": current_address=%p\n",
>>> ompt_get_thread_data()->value, \
>>> ((char *)addr) - 8)
>>> +#elif KMP_ARCH_AARCH64
>>> +// On AArch64 the NOP instruction is 4 bytes long.
>>> +#define print_possible_return_addresses(addr) \
>>> +  printf("%" PRIu64 ": current_address=%p\n",
>>> ompt_get_thread_data()->value, \
>>> +         ((char *)addr) - 4)
>>> #else
>>> #error Unsupported target architecture, cannot determine address
>>> offset!
>>> #endif
>> 
>> Interesting that we don't have a load instruction at all for
>> AArch64.
>> Sigh, that's why we have to customize it for every architecture...
>> 
>>> 
>>> On 18/12/2017 13:56, Jonas Hahnfeld via Openmp-dev wrote:
>>>> Does it pass the tests? I doubt that because it needs
>> modifications as
>>>> Joachim pointed out (had to do the same for PPC64).
>>>> 
>>>> Jonas
>>>> 
>>>> Am 2017-12-18 14:52, schrieb Pawel Osmialowski:
>>>>> Guys,
>>>>> 
>>>>> For more than a year I was always building libomp with
>>>>> -DLIBOMP_OMPT_SUPPORT=ON for our AArch64 machines and I'd
>> happily see
>>>>> it enabled by default.
>>>>> 
>>>>> Cheers,
>>>>> Paul
>>>>> 
>>>>> 
>>>>> On Mon, 2017-12-18 at 14:23 +0100, Jonas Hahnfeld wrote:
>>>>>> Adding Paul, maybe he can help here. Though switching the
>> default
>>>>>> for
>>>>>> x86/x86_64 and ppc64 doesn't mean it has to work on AArch64 for
>> the
>>>>>> 6.0
>>>>>> release, it will just stay deactivated as for MIPS(64).
>>>>>> 
>>>>>> Jonas
>>>>>> 
>>>>>> Am 2017-12-18 13:02, schrieb Cownie, James H via Openmp-dev:
>>>>>>> The ARM folks should chip in. This should clearly be tested
>> on
>>>>>>> AARCH64
>>>>>>> as well!
>>>>>>> 
>>>>>>> -- Jim
>>>>>>> 
>>>>>>> Jim Cownie <james.h.cownie at intel.com>
>>>>>>> SSG/DPD/TCAR (Technical Computing, Analyzers, and Runtimes)
>>>>>>> Tel: +44 117 9071438 [1]
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Openmp-dev [mailto:openmp-dev-bounces at lists.llvm.org]
>> On
>>>>>>> Behalf
>>>>>>> Of Joachim Protze via Openmp-dev
>>>>>>> Sent: Monday, December 18, 2017 11:58 AM
>>>>>>> To: Openmp-dev <openmp-dev at lists.llvm.org>
>>>>>>> Subject: [Openmp-dev] Enabling OMPT by default
>>>>>>> 
>>>>>>> Dear all,
>>>>>>> 
>>>>>>> OpenMP 5.0 will introduce OMPT, the OpenMP tools interface.
>> The
>>>>>>> current
>>>>>>> implementation in the LLVM/OpenMP runtime is at the level of
>>>>>>> OpenMP
>>>>>>> TR6,
>>>>>>> as published in November (with some known issues, were we
>> have
>>>>>>> patches
>>>>>>> under review).
>>>>>>> Currently, this feature is deactivated by default
>>>>>>> (LIBOMP_OMPT_SUPPORT).
>>>>>>> According to overhead measurements performed by Intel and on
>> some
>>>>>>> of
>>>>>>> our
>>>>>>> machines, this feature introduces a worst case runtime
>> overhead of
>>>>>>> ~4%,
>>>>>>> but for most cases basically no overhead.
>>>>>>> As I understood, some of the build-bots run the tests when
>> the
>>>>>>> feature
>>>>>>> is enabled. We locally test the changes continuously with
>> different
>>>>>>> compiler versions (icc/gcc/clang), but only on x86_64
>> architecture.
>>>>>>> Further, this feature was tested on ppc64.
>>>>>>> 
>>>>>>> How should we proceed to enable this feature by default, and
>> get it
>>>>>>> tested on other architectures?
>>>>>>> For the 6.0 release, I would like to enable OMPT at least for
>> the
>>>>>>> supported platforms x86/x86_64 and ppc64.
>>>>>>> 
>>>>>>> 
>>>>>>> We would also appreciate collaboration with vendors/users of
>> other
>>>>>>> platforms, to ensure the code is running there.
>>>>>>> 
>>>>>>> Typically, only the architecture specific offset needs to be
>> added:
>>>>>>> 
>> https://github.com/llvm-mirror/openmp/blob/master/runtime/test/ompt
>> [2]
>>>>>>> /callback.h#L95
>>>>>>> 
>>>>>>> Looking forward to your feedback,
>>>>>>> 
>>>>>>> Joachim
>>>>>>> _______________________________________________
>>>>>>> Openmp-dev mailing list
>>>>>>> Openmp-dev at lists.llvm.org
>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev [3]
>>>>>>> 
>> -----------------------------------------------------------------
>>>>>>> ----
>>>>>>> Intel Corporation (UK) Limited
>>>>>>> Registered No. 1134945 (England)
>>>>>>> Registered Office: Pipers Way, Swindon SN3 1RJ
>>>>>>> VAT No: 860 2173 47
>>>>>>> 
>>>>>>> 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.
>>>>>>> _______________________________________________
>>>>>>> Openmp-dev mailing list
>>>>>>> Openmp-dev at lists.llvm.org
>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev [3]
>>>>> IMPORTANT NOTICE: The contents of this email and any attachments
>> are
>>>>> confidential and may also be privileged. If you are not the
>> intended
>>>>> recipient, please notify the sender immediately and do not
>> disclose
>>>>> the contents to any other person, use it for any purpose, or
>> store or
>>>>> copy the information in any medium. Thank you.
>>>> _______________________________________________
>>>> Openmp-dev mailing list
>>>> Openmp-dev at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev [3]
>> _______________________________________________
>> Openmp-dev mailing list
>> Openmp-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev [3]
>> 
> ---------------------------------------------------------------------
>> Intel Corporation (UK) Limited
>> Registered No. 1134945 (England)
>> Registered Office: Pipers Way, Swindon SN3 1RJ
>> VAT No: 860 2173 47
>> 
>> 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.
>> _______________________________________________
>> Openmp-dev mailing list
>> Openmp-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev [3]
> 
> 
> Links:
> ------
> [1] tel:%2B44%20117%209071438
> [2] https://github.com/llvm-mirror/openmp/blob/master/runtime/test/ompt
> [3] http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev


More information about the Openmp-dev mailing list