<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>