[Openmp-dev] Enabling OMPT by default

Jonas Hahnfeld via Openmp-dev openmp-dev at lists.llvm.org
Wed Dec 20 10:34:07 PST 2017


Am 2017-12-20 14:22, schrieb Paul Osmialowski:
> Yeah, you're right again, with the following change:
> 
> +#define print_possible_return_addresses(addr) \
> +  printf("%" PRIu64 ": current_address=%p or %p\n",
> ompt_get_thread_data()->value, \
> +         ((char *)addr) - 4, ((char *)addr) - 8)

Cool, can you put up a patch for this?

> ...I can see only ompt/tasks/explicit_task.c failing from time to
> time, but it seems to be unrelated to printed address issue:
> 
> runtime/test/ompt/tasks/explicit_task.c:94:12: error: expected string
> not found in input
>  // CHECK: {{^}}[[THREAD_ID]]: ompt_event_barrier_end:
> parallel_id={{[0-9]+}}, task_id=[[IMPLICIT_TASK_ID]]
>            ^
> <stdin>:53:1: note: scanning from here

Do you have the chance to get the full output when the checks fail? (I 
usually run the test directly, save the output temporarily and pass it 
to FileCheck to have the output at hand if that fails.)

> 
> On 19/12/2017 21:22, Joachim Protze wrote:
>> 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.


More information about the Openmp-dev mailing list