<div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">Hello,</div><div dir="ltr"><div><br></div><div>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?</div><div><br></div><div><div>For info, the runtime I'm using reports the following version information in "ompt_start_tool":</div><div><br></div><div><span style="font-family:monospace">Runtime version: LLVM OMP version: 5.0.20140926</span></div><div><span style="font-family:monospace">OMP version: 201611</span></div></div><div><br></div><div>Here are the results I get from "ompt_set_callback" for each event (I've marked the callbacks of interest with (*)):</div><div><br></div><div><span style="font-family:monospace">Return codes from ompt_set_callback:<br>Event                            | Availability<br>ompt_callback_thread_begin       | ompt_set_always (5)<br>ompt_callback_thread_end         | ompt_set_always (5)<br>ompt_callback_parallel_begin     | ompt_set_always (5)<br>ompt_callback_parallel_end       | ompt_set_always (5)<br>ompt_callback_task_create        | ompt_set_always (5)<br>ompt_callback_task_schedule      | ompt_set_always (5)<br>ompt_callback_implicit_task      | ompt_set_always (5)<br>ompt_callback_target             | ompt_set_never  (1)<br>ompt_callback_target_data_op     | ompt_set_never  (1)<br>ompt_callback_target_submit      | ompt_set_never  (1)<br>ompt_callback_control_tool       | ompt_set_always (5)<br>ompt_callback_device_initialize  | ompt_set_never  (1) *<br>ompt_callback_device_finalize    | ompt_set_never  (1) *<br>ompt_callback_device_load        | ompt_set_never  (1) *<br>ompt_callback_device_unload      | ompt_set_never  (1) *<br>ompt_callback_sync_region_wait   | ompt_set_always (5)<br>ompt_callback_mutex_released     | ompt_set_always (5)<br>ompt_callback_dependences        | ompt_set_always (5)<br>ompt_callback_task_dependence    | ompt_set_always (5)<br>ompt_callback_work               | ompt_set_always (5)<br>ompt_callback_masked             | ompt_set_always (5)<br>ompt_callback_target_map         | ompt_set_never  (1)<br>ompt_callback_sync_region        | ompt_set_always (5)<br>ompt_callback_lock_init          | ompt_set_always (5)<br>ompt_callback_lock_destroy       | ompt_set_always (5)<br>ompt_callback_mutex_acquire      | ompt_set_always (5)<br>ompt_callback_mutex_acquired     | ompt_set_always (5)<br>ompt_callback_nest_lock          | ompt_set_always (5)<br>ompt_callback_flush              | ompt_set_always (5)<br>ompt_callback_cancel             | ompt_set_always (5)<br>ompt_callback_reduction          | ompt_set_always (5)<br>ompt_callback_dispatch           | ompt_set_never  (1)<br>ompt_callback_target_emi         | ompt_set_never  (1)<br>ompt_callback_target_data_op_emi | ompt_set_never  (1)<br>ompt_callback_target_submit_emi  | ompt_set_never  (1)<br>ompt_callback_target_map_emi     | ompt_set_never  (1)<br>ompt_callback_error              | ompt_set_always (5)</span><br></div><div><br></div><div>Many thanks,</div><div><br></div><div>Adam Tuft<br></div></div>
</div></div>