diff options
Diffstat (limited to 'openmp/runtime/src/kmp_itt.cpp')
-rw-r--r-- | openmp/runtime/src/kmp_itt.cpp | 218 |
1 files changed, 103 insertions, 115 deletions
diff --git a/openmp/runtime/src/kmp_itt.cpp b/openmp/runtime/src/kmp_itt.cpp index 56d7e6796a7..dec599064af 100644 --- a/openmp/runtime/src/kmp_itt.cpp +++ b/openmp/runtime/src/kmp_itt.cpp @@ -19,145 +19,133 @@ #include "kmp_itt.h" #if KMP_DEBUG - #include "kmp_itt.inl" +#include "kmp_itt.inl" #endif - #if USE_ITT_NOTIFY - kmp_int32 __kmp_barrier_domain_count; - kmp_int32 __kmp_region_domain_count; - __itt_domain* __kmp_itt_barrier_domains[KMP_MAX_FRAME_DOMAINS]; - __itt_domain* __kmp_itt_region_domains[KMP_MAX_FRAME_DOMAINS]; - __itt_domain* __kmp_itt_imbalance_domains[KMP_MAX_FRAME_DOMAINS]; - kmp_int32 __kmp_itt_region_team_size[KMP_MAX_FRAME_DOMAINS]; - __itt_domain * metadata_domain = NULL; - __itt_string_handle * string_handle_imbl = NULL; - __itt_string_handle * string_handle_loop = NULL; - __itt_string_handle * string_handle_sngl = NULL; - - #include "kmp_version.h" - #include "kmp_i18n.h" - #include "kmp_str.h" +kmp_int32 __kmp_barrier_domain_count; +kmp_int32 __kmp_region_domain_count; +__itt_domain *__kmp_itt_barrier_domains[KMP_MAX_FRAME_DOMAINS]; +__itt_domain *__kmp_itt_region_domains[KMP_MAX_FRAME_DOMAINS]; +__itt_domain *__kmp_itt_imbalance_domains[KMP_MAX_FRAME_DOMAINS]; +kmp_int32 __kmp_itt_region_team_size[KMP_MAX_FRAME_DOMAINS]; +__itt_domain *metadata_domain = NULL; +__itt_string_handle *string_handle_imbl = NULL; +__itt_string_handle *string_handle_loop = NULL; +__itt_string_handle *string_handle_sngl = NULL; - KMP_BUILD_ASSERT( sizeof( kmp_itt_mark_t ) == sizeof( __itt_mark_type ) ); +#include "kmp_i18n.h" +#include "kmp_str.h" +#include "kmp_version.h" - /* - Previously used warnings: +KMP_BUILD_ASSERT(sizeof(kmp_itt_mark_t) == sizeof(__itt_mark_type)); - KMP_WARNING( IttAllNotifDisabled ); - KMP_WARNING( IttObjNotifDisabled ); - KMP_WARNING( IttMarkNotifDisabled ); - KMP_WARNING( IttUnloadLibFailed, libittnotify ); - */ +/* Previously used warnings: + KMP_WARNING( IttAllNotifDisabled ); + KMP_WARNING( IttObjNotifDisabled ); + KMP_WARNING( IttMarkNotifDisabled ); + KMP_WARNING( IttUnloadLibFailed, libittnotify ); +*/ - kmp_int32 __kmp_itt_prepare_delay = 0; - kmp_bootstrap_lock_t __kmp_itt_debug_lock = KMP_BOOTSTRAP_LOCK_INITIALIZER( __kmp_itt_debug_lock ); +kmp_int32 __kmp_itt_prepare_delay = 0; +kmp_bootstrap_lock_t __kmp_itt_debug_lock = + KMP_BOOTSTRAP_LOCK_INITIALIZER(__kmp_itt_debug_lock); #endif // USE_ITT_NOTIFY void __kmp_itt_initialize() { - // ITTNotify library is loaded and initialized at first call to any ittnotify function, - // so we do not need to explicitly load it any more. - // Jusr report OMP RTL version to ITTNotify. - - #if USE_ITT_NOTIFY - // Report OpenMP RTL version. - kmp_str_buf_t buf; - __itt_mark_type version; - __kmp_str_buf_init( & buf ); - __kmp_str_buf_print( - & buf, - "OMP RTL Version %d.%d.%d", - __kmp_version_major, - __kmp_version_minor, - __kmp_version_build - ); - if ( __itt_api_version_ptr != NULL ) { - __kmp_str_buf_print( & buf, ":%s", __itt_api_version() ); - }; // if - version = __itt_mark_create( buf.str ); - __itt_mark( version, NULL ); - __kmp_str_buf_free( & buf ); - #endif +// ITTNotify library is loaded and initialized at first call to any ittnotify +// function, so we do not need to explicitly load it any more. Just report OMP +// RTL version to ITTNotify. -} // __kmp_itt_initialize +#if USE_ITT_NOTIFY + // Report OpenMP RTL version. + kmp_str_buf_t buf; + __itt_mark_type version; + __kmp_str_buf_init(&buf); + __kmp_str_buf_print(&buf, "OMP RTL Version %d.%d.%d", __kmp_version_major, + __kmp_version_minor, __kmp_version_build); + if (__itt_api_version_ptr != NULL) { + __kmp_str_buf_print(&buf, ":%s", __itt_api_version()); + }; // if + version = __itt_mark_create(buf.str); + __itt_mark(version, NULL); + __kmp_str_buf_free(&buf); +#endif +} // __kmp_itt_initialize void __kmp_itt_destroy() { - #if USE_ITT_NOTIFY - __kmp_itt_fini_ittlib(); - #endif +#if USE_ITT_NOTIFY + __kmp_itt_fini_ittlib(); +#endif } // __kmp_itt_destroy +extern "C" void __itt_error_handler(__itt_error_code err, va_list args) { -extern "C" -void -__itt_error_handler( - __itt_error_code err, - va_list args -) { - - switch ( err ) { - case __itt_error_no_module : { - char const * library = va_arg( args, char const * ); + switch (err) { + case __itt_error_no_module: { + char const *library = va_arg(args, char const *); #if KMP_OS_WINDOWS - int sys_err = va_arg( args, int ); - kmp_msg_t err_code = KMP_SYSERRCODE( sys_err ); - __kmp_msg( kmp_ms_warning, KMP_MSG( IttLoadLibFailed, library ), err_code, __kmp_msg_null ); - if (__kmp_generate_warnings == kmp_warnings_off) { - __kmp_str_free(&err_code.str); - } + int sys_err = va_arg(args, int); + kmp_msg_t err_code = KMP_SYSERRCODE(sys_err); + __kmp_msg(kmp_ms_warning, KMP_MSG(IttLoadLibFailed, library), err_code, + __kmp_msg_null); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } #else - char const * sys_err = va_arg( args, char const * ); - kmp_msg_t err_code = KMP_SYSERRMESG( sys_err ); - __kmp_msg( kmp_ms_warning, KMP_MSG( IttLoadLibFailed, library ), err_code, __kmp_msg_null ); - if (__kmp_generate_warnings == kmp_warnings_off) { - __kmp_str_free(&err_code.str); - } + char const *sys_err = va_arg(args, char const *); + kmp_msg_t err_code = KMP_SYSERRMESG(sys_err); + __kmp_msg(kmp_ms_warning, KMP_MSG(IttLoadLibFailed, library), err_code, + __kmp_msg_null); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } #endif - } break; - case __itt_error_no_symbol : { - char const * library = va_arg( args, char const * ); - char const * symbol = va_arg( args, char const * ); - KMP_WARNING( IttLookupFailed, symbol, library ); - } break; - case __itt_error_unknown_group : { - char const * var = va_arg( args, char const * ); - char const * group = va_arg( args, char const * ); - KMP_WARNING( IttUnknownGroup, var, group ); - } break; - case __itt_error_env_too_long : { - char const * var = va_arg( args, char const * ); - size_t act_len = va_arg( args, size_t ); - size_t max_len = va_arg( args, size_t ); - KMP_WARNING( IttEnvVarTooLong, var, (unsigned long) act_len, (unsigned long) max_len ); - } break; - case __itt_error_cant_read_env : { - char const * var = va_arg( args, char const * ); - int sys_err = va_arg( args, int ); - kmp_msg_t err_code = KMP_ERR( sys_err ); - __kmp_msg( kmp_ms_warning, KMP_MSG( CantGetEnvVar, var ), err_code, __kmp_msg_null ); - if (__kmp_generate_warnings == kmp_warnings_off) { - __kmp_str_free(&err_code.str); - } - } break; - case __itt_error_system : { - char const * func = va_arg( args, char const * ); - int sys_err = va_arg( args, int ); - kmp_msg_t err_code = KMP_SYSERRCODE( sys_err ); - __kmp_msg( kmp_ms_warning, KMP_MSG( IttFunctionError, func ), err_code, __kmp_msg_null ); - if (__kmp_generate_warnings == kmp_warnings_off) { - __kmp_str_free(&err_code.str); - } - } break; - default : { - KMP_WARNING( IttUnknownError, err ); - }; - }; // switch - + } break; + case __itt_error_no_symbol: { + char const *library = va_arg(args, char const *); + char const *symbol = va_arg(args, char const *); + KMP_WARNING(IttLookupFailed, symbol, library); + } break; + case __itt_error_unknown_group: { + char const *var = va_arg(args, char const *); + char const *group = va_arg(args, char const *); + KMP_WARNING(IttUnknownGroup, var, group); + } break; + case __itt_error_env_too_long: { + char const *var = va_arg(args, char const *); + size_t act_len = va_arg(args, size_t); + size_t max_len = va_arg(args, size_t); + KMP_WARNING(IttEnvVarTooLong, var, (unsigned long)act_len, + (unsigned long)max_len); + } break; + case __itt_error_cant_read_env: { + char const *var = va_arg(args, char const *); + int sys_err = va_arg(args, int); + kmp_msg_t err_code = KMP_ERR(sys_err); + __kmp_msg(kmp_ms_warning, KMP_MSG(CantGetEnvVar, var), err_code, + __kmp_msg_null); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } + } break; + case __itt_error_system: { + char const *func = va_arg(args, char const *); + int sys_err = va_arg(args, int); + kmp_msg_t err_code = KMP_SYSERRCODE(sys_err); + __kmp_msg(kmp_ms_warning, KMP_MSG(IttFunctionError, func), err_code, + __kmp_msg_null); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } + } break; + default: { KMP_WARNING(IttUnknownError, err); }; + }; // switch } // __itt_error_handler #endif /* USE_ITT_BUILD */ |