Index: runtime/src/ompt-general.cpp =================================================================== --- runtime/src/ompt-general.cpp +++ runtime/src/ompt-general.cpp @@ -448,6 +448,9 @@ OMPT_API_ROUTINE int ompt_get_callback(ompt_callbacks_t which, ompt_callback_t *callback) { + if (!ompt_enabled.enabled) + return ompt_get_callback_failure; + switch (which) { #define ompt_event_macro(event_name, callback_type, event_id) \ @@ -455,7 +458,7 @@ if (ompt_event_implementation_status(event_name)) { \ ompt_callback_t mycb = \ (ompt_callback_t)ompt_callbacks.ompt_callback(event_name); \ - if (mycb) { \ + if (ompt_enabled.event_name && mycb) { \ *callback = mycb; \ return ompt_get_callback_success; \ } \ @@ -497,6 +500,8 @@ ****************************************************************************/ OMPT_API_ROUTINE ompt_data_t *ompt_get_thread_data(void) { + if (!ompt_enabled.enabled) + return NULL; return __ompt_get_thread_data_internal(); } @@ -573,7 +578,7 @@ #if !KMP_AFFINITY_SUPPORTED return -1; #else - if (__kmp_get_gtid() < 0) + if (!ompt_enabled.enabled || __kmp_get_gtid() < 0) return -1; int gtid; @@ -594,7 +599,7 @@ #if !KMP_AFFINITY_SUPPORTED return 0; #else - if (__kmp_get_gtid() < 0) + if (!ompt_enabled.enabled || __kmp_get_gtid() < 0) return 0; int i, gtid, place_num, first_place, last_place, start, end; @@ -630,7 +635,7 @@ OMPT_API_ROUTINE int ompt_get_proc_id(void) { #if KMP_OS_LINUX - if (__kmp_get_gtid() < 0) + if (!ompt_enabled.enabled || __kmp_get_gtid() < 0) return -1; return sched_getcpu(); Index: runtime/src/ompt-specific.cpp =================================================================== --- runtime/src/ompt-specific.cpp +++ runtime/src/ompt-specific.cpp @@ -232,7 +232,7 @@ int __ompt_get_parallel_info_internal(int ancestor_level, ompt_data_t **parallel_data, int *team_size) { - if (__kmp_get_gtid() >= 0) { + if (ompt_enabled.enabled && __kmp_get_gtid() >= 0) { ompt_team_info_t *info; if (team_size) { info = __ompt_get_teaminfo(ancestor_level, team_size); @@ -331,7 +331,7 @@ omp_frame_t **task_frame, ompt_data_t **parallel_data, int *thread_num) { - if (__kmp_get_gtid() < 0) + if (!ompt_enabled.enabled || __kmp_get_gtid() < 0) return 0; if (ancestor_level < 0)