1 #include "kmp_config.h" 22 #include "kmp_itt.inl" 28 kmp_int32 __kmp_barrier_domain_count;
29 kmp_int32 __kmp_region_domain_count;
30 __itt_domain* __kmp_itt_barrier_domains[KMP_MAX_FRAME_DOMAINS];
31 __itt_domain* __kmp_itt_region_domains[KMP_MAX_FRAME_DOMAINS];
32 __itt_domain* __kmp_itt_imbalance_domains[KMP_MAX_FRAME_DOMAINS];
33 kmp_int32 __kmp_itt_region_team_size[KMP_MAX_FRAME_DOMAINS];
34 __itt_domain * metadata_domain = NULL;
35 __itt_string_handle * string_handle_imbl = NULL;
36 __itt_string_handle * string_handle_loop = NULL;
37 __itt_string_handle * string_handle_sngl = NULL;
39 #include "kmp_version.h" 43 KMP_BUILD_ASSERT(
sizeof( kmp_itt_mark_t ) ==
sizeof( __itt_mark_type ) );
55 kmp_int32 __kmp_itt_prepare_delay = 0;
56 kmp_bootstrap_lock_t __kmp_itt_debug_lock = KMP_BOOTSTRAP_LOCK_INITIALIZER( __kmp_itt_debug_lock );
58 #endif // USE_ITT_NOTIFY 60 void __kmp_itt_initialize() {
69 __itt_mark_type version;
70 __kmp_str_buf_init( & buf );
73 "OMP RTL Version %d.%d.%d",
78 if ( __itt_api_version_ptr != NULL ) {
79 __kmp_str_buf_print( & buf,
":%s", __itt_api_version() );
81 version = __itt_mark_create( buf.str );
82 __itt_mark( version, NULL );
83 __kmp_str_buf_free( & buf );
89 void __kmp_itt_destroy() {
91 __kmp_itt_fini_ittlib();
104 case __itt_error_no_module : {
105 char const * library = va_arg( args,
char const * );
107 int sys_err = va_arg( args,
int );
108 kmp_msg_t err_code = KMP_SYSERRCODE( sys_err );
109 __kmp_msg( kmp_ms_warning, KMP_MSG( IttLoadLibFailed, library ), err_code, __kmp_msg_null );
110 if (__kmp_generate_warnings == kmp_warnings_off) {
111 __kmp_str_free(&err_code.str);
114 char const * sys_err = va_arg( args,
char const * );
115 kmp_msg_t err_code = KMP_SYSERRMESG( sys_err );
116 __kmp_msg( kmp_ms_warning, KMP_MSG( IttLoadLibFailed, library ), err_code, __kmp_msg_null );
117 if (__kmp_generate_warnings == kmp_warnings_off) {
118 __kmp_str_free(&err_code.str);
122 case __itt_error_no_symbol : {
123 char const * library = va_arg( args,
char const * );
124 char const * symbol = va_arg( args,
char const * );
125 KMP_WARNING( IttLookupFailed, symbol, library );
127 case __itt_error_unknown_group : {
128 char const * var = va_arg( args,
char const * );
129 char const * group = va_arg( args,
char const * );
130 KMP_WARNING( IttUnknownGroup, var, group );
132 case __itt_error_env_too_long : {
133 char const * var = va_arg( args,
char const * );
134 size_t act_len = va_arg( args,
size_t );
135 size_t max_len = va_arg( args,
size_t );
136 KMP_WARNING( IttEnvVarTooLong, var, (
unsigned long) act_len, (
unsigned long) max_len );
138 case __itt_error_cant_read_env : {
139 char const * var = va_arg( args,
char const * );
140 int sys_err = va_arg( args,
int );
141 kmp_msg_t err_code = KMP_ERR( sys_err );
142 __kmp_msg( kmp_ms_warning, KMP_MSG( CantGetEnvVar, var ), err_code, __kmp_msg_null );
143 if (__kmp_generate_warnings == kmp_warnings_off) {
144 __kmp_str_free(&err_code.str);
147 case __itt_error_system : {
148 char const * func = va_arg( args,
char const * );
149 int sys_err = va_arg( args,
int );
150 kmp_msg_t err_code = KMP_SYSERRCODE( sys_err );
151 __kmp_msg( kmp_ms_warning, KMP_MSG( IttFunctionError, func ), err_code, __kmp_msg_null );
152 if (__kmp_generate_warnings == kmp_warnings_off) {
153 __kmp_str_free(&err_code.str);
157 KMP_WARNING( IttUnknownError, err );