Add mechanism for reporting callback availability
Closed this issue · 2 comments
adamtuft commented
Want a mechanism for reporting availability of all defined callbacks (return code of ompt_set_callback
- see table 4.2 in OpenMP 5.0)
- driven by environment variable
- report runtime in use + OpenMP version
adamtuft commented
for @iamholger
adamtuft commented
Hi @iamholger - I've implemented this with commit 9c42228
To enable the feature, define the environment variable OTTER_REPORT_CALLBACKS
before invoking Otter. I get the following output in stderr:
LLVM OMP version: 5.0.20140926, OMP v. 201611
...
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_master | 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)