OMPT worker thread events not dispatched

On tool shutdown (ompt_finalize_tool), the runtime should attempt to dispatch any outstanding events. Our tool, Score-P, does rely on this.

The NVHPC runtime, up to 22.11, does not dispatch events on worker threads. In particular, the events

  • implicit-barrier-wait-end
  • implicit-barrier-end
  • implicit-task-end

for the last parallel region of the program and

  • thread-end

are missing.

Here is a reproducer for thread-end: events_not_dispatched.c (1.9 KB)

Compile and run like this:
$ nvc -fopenmp -mp=ompt events_not_dispatched.c && ./a.out

Expected output is (order not deterministic):

thread-begin @ tid 0
tid = 0
thread-begin @ tid 1
tid = 1
thread-end @ tid 0
thread-end @ tid 1

I get

thread-begin @ tid 0
thread-begin @ tid 1
tid = 1
tid = 0
thread-end @ tid 0
a.out: events_not_dispatched.c:44: ompt_finalize: Assertion `worker_thread_end_dispatched' failed.

It would be nice to see the missing events in the next NVHPC release ;-)

Thanks,
Christian

Thanks for the report Christian. I’ve filed a problem report, TPR#32751, and sent it to engineering for investigation.

-Mat

1 Like

I can confirm that this is fixed in 23.1.

Thanks!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.