[Openmp-dev] Enabling OMPT by default

Joachim Protze via Openmp-dev openmp-dev at lists.llvm.org
Tue Dec 19 13:22:35 PST 2017


Ok, this seems to be similar as for x86. You can add multiple offset 
prints. The test will match any of these printed addresses.

- Joachim

On 12/19/2017 09:36 PM, Paul Osmialowski wrote:
> Yeah, you're right initializing this variable to zero fixes failing test 
> case. However, this uncovers flaw in my snippet. Some test cases have 
> failed as additional str instruction was added after nop:
> 
>      libomp :: ompt/misc/control_tool.c
>      libomp :: ompt/synchronization/taskwait.c
>      libomp :: ompt/synchronization/test_lock.c
>      libomp :: ompt/synchronization/test_nest_lock_parallel.c
> 
> Will look at this later as I'm waiting for my flitht now.
> 
> On 19/12/2017 19:51, Joachim Protze wrote:
>> Probably my fault, there is an uninitialized use of "condition":
>>
>> https://github.com/llvm-mirror/openmp/blob/master/runtime/test/ompt/parallel/nested_lwt.c#L11 
>>
>>
>> Please initialize to 0 and test again.
>>
>> Thanks
>> Joachim
>>
>>
>> On 12/19/2017 03:15 PM, Paul Osmialowski via Openmp-dev wrote:
>>> Nah, it blocks forever on nested_lwt.c when I started it on 96-cores 
>>> ARMv8.1 machine. 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
>>>
>>> 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
>>>>>> >
>>>>>> > -----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
>>>>>> > /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
>>>>>> > -----------------------------------------------------------------
>>>>>> > ----
>>>>>> > 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
>>>>> 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
>>> _______________________________________________
>>> Openmp-dev mailing list
>>> Openmp-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>>



More information about the Openmp-dev mailing list