[Openmp-dev] Availability of OMPT device-related callbacks in LLVM ≥12

Adam Tuft via Openmp-dev openmp-dev at lists.llvm.org
Mon Aug 9 16:46:04 PDT 2021


Hello,

I'm interested in the device-related callbacks in the OMPT interface for
tracing initialisation of my Nvidia GPU when offloading with a target
region. The LLVM 12.0.0 OpenMP runtime I'm using reports that the
"ompt_callback_device_initialize" callback is not available. Is there any
support available for tracing activity on GPU devices in a later version?

For info, the runtime I'm using reports the following version information
in "ompt_start_tool":

Runtime version: LLVM OMP version: 5.0.20140926
OMP version: 201611

Here are the results I get from "ompt_set_callback" for each event (I've
marked the callbacks of interest with (*)):

Return codes from ompt_set_callback:
Event                            | Availability
ompt_callback_thread_begin       | ompt_set_always (5)
ompt_callback_thread_end         | ompt_set_always (5)
ompt_callback_parallel_begin     | ompt_set_always (5)
ompt_callback_parallel_end       | ompt_set_always (5)
ompt_callback_task_create        | ompt_set_always (5)
ompt_callback_task_schedule      | ompt_set_always (5)
ompt_callback_implicit_task      | ompt_set_always (5)
ompt_callback_target             | ompt_set_never  (1)
ompt_callback_target_data_op     | ompt_set_never  (1)
ompt_callback_target_submit      | ompt_set_never  (1)
ompt_callback_control_tool       | ompt_set_always (5)
ompt_callback_device_initialize  | ompt_set_never  (1) *
ompt_callback_device_finalize    | ompt_set_never  (1) *
ompt_callback_device_load        | ompt_set_never  (1) *
ompt_callback_device_unload      | ompt_set_never  (1) *
ompt_callback_sync_region_wait   | ompt_set_always (5)
ompt_callback_mutex_released     | ompt_set_always (5)
ompt_callback_dependences        | ompt_set_always (5)
ompt_callback_task_dependence    | ompt_set_always (5)
ompt_callback_work               | ompt_set_always (5)
ompt_callback_masked             | ompt_set_always (5)
ompt_callback_target_map         | ompt_set_never  (1)
ompt_callback_sync_region        | ompt_set_always (5)
ompt_callback_lock_init          | ompt_set_always (5)
ompt_callback_lock_destroy       | ompt_set_always (5)
ompt_callback_mutex_acquire      | ompt_set_always (5)
ompt_callback_mutex_acquired     | ompt_set_always (5)
ompt_callback_nest_lock          | ompt_set_always (5)
ompt_callback_flush              | ompt_set_always (5)
ompt_callback_cancel             | ompt_set_always (5)
ompt_callback_reduction          | ompt_set_always (5)
ompt_callback_dispatch           | ompt_set_never  (1)
ompt_callback_target_emi         | ompt_set_never  (1)
ompt_callback_target_data_op_emi | ompt_set_never  (1)
ompt_callback_target_submit_emi  | ompt_set_never  (1)
ompt_callback_target_map_emi     | ompt_set_never  (1)
ompt_callback_error              | ompt_set_always (5)

Many thanks,

Adam Tuft
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20210810/c2988a68/attachment.html>


More information about the Openmp-dev mailing list