tbb_profiling.h
Go to the documentation of this file.
/*
Copyright (c) 2005-2020 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef __TBB_profiling_H
#define __TBB_profiling_H
#define __TBB_tbb_profiling_H_include_area
#include "internal/_warning_suppress_enable_notice.h"
namespace tbb {
namespace internal {
// include list of index names
#define TBB_STRING_RESOURCE(index_name,str) index_name,
enum string_index {
#include "internal/_tbb_strings.h"
NUM_STRINGS
};
#undef TBB_STRING_RESOURCE
enum itt_relation
{
__itt_relation_is_unknown = 0,
__itt_relation_is_dependent_on,
__itt_relation_is_sibling_of,
__itt_relation_is_parent_of,
__itt_relation_is_continuation_of,
__itt_relation_is_child_of,
__itt_relation_is_continued_by,
__itt_relation_is_predecessor_to
};
}
}
// Check if the tools support is enabled
#if (_WIN32||_WIN64||__linux__) && !__MINGW32__ && TBB_USE_THREADING_TOOLS
#if _WIN32||_WIN64
#include <stdlib.h> /* mbstowcs_s */
#endif
#include "tbb_stddef.h"
namespace tbb {
namespace internal {
#if _WIN32||_WIN64
void __TBB_EXPORTED_FUNC itt_set_sync_name_v3( void *obj, const wchar_t* name );
inline size_t multibyte_to_widechar( wchar_t* wcs, const char* mbs, size_t bufsize) {
#if _MSC_VER>=1400
size_t len;
mbstowcs_s( &len, wcs, bufsize, mbs, _TRUNCATE );
return len; // mbstowcs_s counts null terminator
#else
size_t len = mbstowcs( wcs, mbs, bufsize );
if(wcs && len!=size_t(-1) )
wcs[len<bufsize-1? len: bufsize-1] = wchar_t('\0');
return len+1; // mbstowcs does not count null terminator
#endif
}
#else
void __TBB_EXPORTED_FUNC itt_set_sync_name_v3( void *obj, const char* name );
#endif
} // namespace internal
} // namespace tbb
#if _WIN32||_WIN64
#define __TBB_DEFINE_PROFILING_SET_NAME(sync_object_type) \
namespace profiling { \
inline void set_name( sync_object_type& obj, const wchar_t* name ) { \
tbb::internal::itt_set_sync_name_v3( &obj, name ); \
} \
inline void set_name( sync_object_type& obj, const char* name ) { \
size_t len = tbb::internal::multibyte_to_widechar(NULL, name, 0); \
wchar_t *wname = new wchar_t[len]; \
tbb::internal::multibyte_to_widechar(wname, name, len); \
set_name( obj, wname ); \
delete[] wname; \
} \
}
#else /* !WIN */
#define __TBB_DEFINE_PROFILING_SET_NAME(sync_object_type) \
namespace profiling { \
inline void set_name( sync_object_type& obj, const char* name ) { \
tbb::internal::itt_set_sync_name_v3( &obj, name ); \
} \
}
#endif /* !WIN */
#else /* no tools support */
#if _WIN32||_WIN64
#define __TBB_DEFINE_PROFILING_SET_NAME(sync_object_type) \
namespace profiling { \
inline void set_name( sync_object_type&, const wchar_t* ) {} \
inline void set_name( sync_object_type&, const char* ) {} \
}
#else /* !WIN */
#define __TBB_DEFINE_PROFILING_SET_NAME(sync_object_type) \
namespace profiling { \
inline void set_name( sync_object_type&, const char* ) {} \
}
#endif /* !WIN */
#endif /* no tools support */
#include "atomic.h"
// Need these to work regardless of tools support
namespace tbb {
namespace internal {
enum notify_type {prepare=0, cancel, acquired, releasing};
const uintptr_t NUM_NOTIFY_TYPES = 4; // set to # elements in enum above
void __TBB_EXPORTED_FUNC call_itt_notify_v5(int t, void *ptr);
void __TBB_EXPORTED_FUNC itt_store_pointer_with_release_v3(void *dst, void *src);
void* __TBB_EXPORTED_FUNC itt_load_pointer_with_acquire_v3(const void *src);
void* __TBB_EXPORTED_FUNC itt_load_pointer_v3( const void* src );
enum itt_domain_enum { ITT_DOMAIN_FLOW=0, ITT_DOMAIN_MAIN=1, ITT_DOMAIN_ALGO=2, ITT_NUM_DOMAINS };
void __TBB_EXPORTED_FUNC itt_make_task_group_v7( itt_domain_enum domain, void *group, unsigned long long group_extra,
void *parent, unsigned long long parent_extra, string_index name_index );
void __TBB_EXPORTED_FUNC itt_metadata_str_add_v7( itt_domain_enum domain, void *addr, unsigned long long addr_extra,
string_index key, const char *value );
void __TBB_EXPORTED_FUNC itt_metadata_ptr_add_v11( itt_domain_enum domain, void *addr, unsigned long long addr_extra,
string_index key, void* value );
void __TBB_EXPORTED_FUNC itt_relation_add_v7( itt_domain_enum domain, void *addr0, unsigned long long addr0_extra,
itt_relation relation, void *addr1, unsigned long long addr1_extra );
void __TBB_EXPORTED_FUNC itt_task_begin_v7( itt_domain_enum domain, void *task, unsigned long long task_extra,
void *parent, unsigned long long parent_extra, string_index name_index );
void __TBB_EXPORTED_FUNC itt_task_end_v7( itt_domain_enum domain );
void __TBB_EXPORTED_FUNC itt_region_begin_v9( itt_domain_enum domain, void *region, unsigned long long region_extra,
void *parent, unsigned long long parent_extra, string_index name_index );
void __TBB_EXPORTED_FUNC itt_region_end_v9( itt_domain_enum domain, void *region, unsigned long long region_extra );
// two template arguments are to workaround /Wp64 warning with tbb::atomic specialized for unsigned type
template <typename T, typename U>
inline void itt_store_word_with_release(tbb::atomic<T>& dst, U src) {
#if TBB_USE_THREADING_TOOLS
// This assertion should be replaced with static_assert
__TBB_ASSERT(sizeof(T) == sizeof(void *), "Type must be word-sized.");
itt_store_pointer_with_release_v3(&dst, (void *)uintptr_t(src));
#else
dst = src;
#endif // TBB_USE_THREADING_TOOLS
}
template <typename T>
inline T itt_load_word_with_acquire(const tbb::atomic<T>& src) {
#if TBB_USE_THREADING_TOOLS
// This assertion should be replaced with static_assert
__TBB_ASSERT(sizeof(T) == sizeof(void *), "Type must be word-sized.");
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
// Workaround for overzealous compiler warnings
#pragma warning (push)
#pragma warning (disable: 4311)
#endif
T result = (T)itt_load_pointer_with_acquire_v3(&src);
#if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
#pragma warning (pop)
#endif
return result;
#else
return src;
#endif // TBB_USE_THREADING_TOOLS
}
template <typename T>
inline void itt_store_word_with_release(T& dst, T src) {
#if TBB_USE_THREADING_TOOLS
// This assertion should be replaced with static_assert
__TBB_ASSERT(sizeof(T) == sizeof(void *), "Type must be word-sized.");
itt_store_pointer_with_release_v3(&dst, (void *)src);
#else
__TBB_store_with_release(dst, src);
#endif // TBB_USE_THREADING_TOOLS
}
template <typename T>
inline T itt_load_word_with_acquire(const T& src) {
#if TBB_USE_THREADING_TOOLS
// This assertion should be replaced with static_assert
__TBB_ASSERT(sizeof(T) == sizeof(void *), "Type must be word-sized");
return (T)itt_load_pointer_with_acquire_v3(&src);
#else
return __TBB_load_with_acquire(src);
#endif // TBB_USE_THREADING_TOOLS
}
template <typename T>
inline void itt_hide_store_word(T& dst, T src) {
#if TBB_USE_THREADING_TOOLS
//TODO: This assertion should be replaced with static_assert
__TBB_ASSERT(sizeof(T) == sizeof(void *), "Type must be word-sized");
itt_store_pointer_with_release_v3(&dst, (void *)src);
#else
dst = src;
#endif
}
//TODO: rename to itt_hide_load_word_relaxed
template <typename T>
inline T itt_hide_load_word(const T& src) {
#if TBB_USE_THREADING_TOOLS
//TODO: This assertion should be replaced with static_assert
__TBB_ASSERT(sizeof(T) == sizeof(void *), "Type must be word-sized.");
return (T)itt_load_pointer_v3(&src);
#else
return src;
#endif
}
#if TBB_USE_THREADING_TOOLS
inline void call_itt_notify(notify_type t, void *ptr) {
call_itt_notify_v5((int)t, ptr);
}
inline void itt_make_task_group( itt_domain_enum domain, void *group, unsigned long long group_extra,
void *parent, unsigned long long parent_extra, string_index name_index ) {
itt_make_task_group_v7( domain, group, group_extra, parent, parent_extra, name_index );
}
inline void itt_metadata_str_add( itt_domain_enum domain, void *addr, unsigned long long addr_extra,
string_index key, const char *value ) {
itt_metadata_str_add_v7( domain, addr, addr_extra, key, value );
}
inline void register_node_addr(itt_domain_enum domain, void *addr, unsigned long long addr_extra,
string_index key, void *value) {
itt_metadata_ptr_add_v11(domain, addr, addr_extra, key, value);
}
inline void itt_relation_add( itt_domain_enum domain, void *addr0, unsigned long long addr0_extra,
itt_relation relation, void *addr1, unsigned long long addr1_extra ) {
itt_relation_add_v7( domain, addr0, addr0_extra, relation, addr1, addr1_extra );
}
inline void itt_task_begin( itt_domain_enum domain, void *task, unsigned long long task_extra,
void *parent, unsigned long long parent_extra, string_index name_index ) {
itt_task_begin_v7( domain, task, task_extra, parent, parent_extra, name_index );
}
inline void itt_task_end( itt_domain_enum domain ) {
itt_task_end_v7( domain );
}
inline void itt_region_begin( itt_domain_enum domain, void *region, unsigned long long region_extra,
void *parent, unsigned long long parent_extra, string_index name_index ) {
itt_region_begin_v9( domain, region, region_extra, parent, parent_extra, name_index );
}
inline void itt_region_end( itt_domain_enum domain, void *region, unsigned long long region_extra ) {
itt_region_end_v9( domain, region, region_extra );
}
#else
inline void register_node_addr( itt_domain_enum /*domain*/, void* /*addr*/, unsigned long long /*addr_extra*/, string_index /*key*/, void* /*value*/ ) {}
inline void call_itt_notify(notify_type /*t*/, void* /*ptr*/) {}
inline void itt_make_task_group( itt_domain_enum /*domain*/, void* /*group*/, unsigned long long /*group_extra*/,
void* /*parent*/, unsigned long long /*parent_extra*/, string_index /*name_index*/ ) {}
inline void itt_metadata_str_add( itt_domain_enum /*domain*/, void* /*addr*/, unsigned long long /*addr_extra*/,
string_index /*key*/, const char* /*value*/ ) {}
inline void itt_relation_add( itt_domain_enum /*domain*/, void* /*addr0*/, unsigned long long /*addr0_extra*/,
itt_relation /*relation*/, void* /*addr1*/, unsigned long long /*addr1_extra*/ ) {}
inline void itt_task_begin( itt_domain_enum /*domain*/, void* /*task*/, unsigned long long /*task_extra*/,
void* /*parent*/, unsigned long long /*parent_extra*/, string_index /*name_index*/ ) {}
inline void itt_task_end( itt_domain_enum /*domain*/ ) {}
inline void itt_region_begin( itt_domain_enum /*domain*/, void* /*region*/, unsigned long long /*region_extra*/,
void* /*parent*/, unsigned long long /*parent_extra*/, string_index /*name_index*/ ) {}
inline void itt_region_end( itt_domain_enum /*domain*/, void* /*region*/, unsigned long long /*region_extra*/ ) {}
#endif // TBB_USE_THREADING_TOOLS
} // namespace internal
} // namespace tbb
#if TBB_PREVIEW_FLOW_GRAPH_TRACE
#include <string>
namespace tbb {
namespace profiling {
namespace interface10 {
#if TBB_USE_THREADING_TOOLS && !(TBB_USE_THREADING_TOOLS == 2)
class event {
// TODO: Replace implementation by itt user event api.
const std::string my_name;
static void emit_trace(const std::string &input) {
itt_metadata_str_add( tbb::internal::ITT_DOMAIN_FLOW, NULL, tbb::internal::FLOW_NULL, tbb::internal::USER_EVENT, ( "FGA::DATAID::" + input ).c_str() );
}
public:
event(const std::string &input)
: my_name( input )
{ }
void emit() {
emit_trace(my_name);
}
static void emit(const std::string &description) {
emit_trace(description);
}
};
#else // TBB_USE_THREADING_TOOLS && !(TBB_USE_THREADING_TOOLS == 2)
// Using empty struct if user event tracing is disabled:
struct event {
event(const std::string &) { }
void emit() { }
static void emit(const std::string &) { }
};
#endif // TBB_USE_THREADING_TOOLS && !(TBB_USE_THREADING_TOOLS == 2)
} // interfaceX
using interface10::event;
} // namespace profiling
} // namespace tbb
#endif // TBB_PREVIEW_FLOW_GRAPH_TRACE
#include "internal/_warning_suppress_disable_notice.h"
#undef __TBB_tbb_profiling_H_include_area
#endif /* __TBB_profiling_H */
atomic.h
_tbb_strings.h
_warning_suppress_disable_notice.h
_warning_suppress_enable_notice.h
__TBB_EXPORTED_FUNC
#define __TBB_EXPORTED_FUNC
Definition: scalable_allocator.h:38
tbb_stddef.h
__TBB_ASSERT
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
relation
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation relation
Definition: ittnotify_static.h:207
addr
void * addr
Definition: ittnotify_static.h:91
task
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task * task
Definition: ittnotify_static.h:119
name
void const char const char int ITT_FORMAT __itt_group_sync x void const char * name
Definition: ittnotify_static.h:93
event
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event event
Definition: ittnotify_static.h:217
parent
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id parent
Definition: ittnotify_static.h:176
value
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
Definition: ittnotify_static.h:192
domain
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t * domain
Definition: ittnotify_static.h:153
key
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle * key
Definition: ittnotify_static.h:198
tbb
The graph class.
Definition: serial/tbb/parallel_for.h:46
tbb::internal::notify_type
notify_type
Definition: tbb_profiling.h:129
tbb::internal::acquired
@ acquired
Definition: tbb_profiling.h:129
tbb::internal::releasing
@ releasing
Definition: tbb_profiling.h:129
tbb::internal::prepare
@ prepare
Definition: tbb_profiling.h:129
tbb::internal::cancel
@ cancel
Definition: tbb_profiling.h:129
tbb::internal::itt_region_begin_v9
void __TBB_EXPORTED_FUNC itt_region_begin_v9(itt_domain_enum domain, void *region, unsigned long long region_extra, void *parent, unsigned long long parent_extra, string_index name_index)
Definition: tbb_main.cpp:431
tbb::internal::__TBB_load_with_acquire
T __TBB_load_with_acquire(const volatile T &location)
Definition: tbb_machine.h:712
tbb::internal::itt_task_end
void itt_task_end(itt_domain_enum)
Definition: tbb_profiling.h:290
tbb::internal::itt_task_begin
void itt_task_begin(itt_domain_enum, void *, unsigned long long, void *, unsigned long long, string_index)
Definition: tbb_profiling.h:287
tbb::internal::register_node_addr
void register_node_addr(itt_domain_enum, void *, unsigned long long, string_index, void *)
Definition: tbb_profiling.h:275
tbb::internal::itt_region_end
void itt_region_end(itt_domain_enum, void *, unsigned long long)
Definition: tbb_profiling.h:295
tbb::internal::NUM_NOTIFY_TYPES
const uintptr_t NUM_NOTIFY_TYPES
Definition: tbb_profiling.h:131
tbb::internal::string_index
string_index
Definition: tbb_profiling.h:28
tbb::internal::NUM_STRINGS
@ NUM_STRINGS
Definition: tbb_profiling.h:30
tbb::internal::itt_relation
itt_relation
Definition: tbb_profiling.h:35
tbb::internal::__itt_relation_is_continued_by
@ __itt_relation_is_continued_by
Definition: tbb_profiling.h:42
tbb::internal::__itt_relation_is_unknown
@ __itt_relation_is_unknown
Definition: tbb_profiling.h:36
tbb::internal::__itt_relation_is_predecessor_to
@ __itt_relation_is_predecessor_to
Definition: tbb_profiling.h:43
tbb::internal::__itt_relation_is_continuation_of
@ __itt_relation_is_continuation_of
Definition: tbb_profiling.h:40
tbb::internal::__itt_relation_is_parent_of
@ __itt_relation_is_parent_of
Definition: tbb_profiling.h:39
tbb::internal::__itt_relation_is_sibling_of
@ __itt_relation_is_sibling_of
Definition: tbb_profiling.h:38
tbb::internal::__itt_relation_is_dependent_on
@ __itt_relation_is_dependent_on
Definition: tbb_profiling.h:37
tbb::internal::__itt_relation_is_child_of
@ __itt_relation_is_child_of
Definition: tbb_profiling.h:41
tbb::internal::call_itt_notify_v5
void __TBB_EXPORTED_FUNC call_itt_notify_v5(int t, void *ptr)
Definition: tbb_main.cpp:292
tbb::internal::itt_region_end_v9
void __TBB_EXPORTED_FUNC itt_region_end_v9(itt_domain_enum domain, void *region, unsigned long long region_extra)
Definition: tbb_main.cpp:434
tbb::internal::itt_metadata_str_add
void itt_metadata_str_add(itt_domain_enum, void *, unsigned long long, string_index, const char *)
Definition: tbb_profiling.h:281
tbb::internal::itt_task_end_v7
void __TBB_EXPORTED_FUNC itt_task_end_v7(itt_domain_enum domain)
Definition: tbb_main.cpp:429
tbb::internal::itt_relation_add_v7
void __TBB_EXPORTED_FUNC itt_relation_add_v7(itt_domain_enum domain, void *addr0, unsigned long long addr0_extra, itt_relation relation, void *addr1, unsigned long long addr1_extra)
Definition: tbb_main.cpp:420
tbb::internal::itt_metadata_str_add_v7
void __TBB_EXPORTED_FUNC itt_metadata_str_add_v7(itt_domain_enum domain, void *addr, unsigned long long addr_extra, string_index key, const char *value)
Definition: tbb_main.cpp:417
tbb::internal::itt_hide_store_word
void itt_hide_store_word(T &dst, T src)
Definition: tbb_profiling.h:210
tbb::internal::itt_load_word_with_acquire
T itt_load_word_with_acquire(const tbb::atomic< T > &src)
Definition: tbb_profiling.h:168
tbb::internal::itt_domain_enum
itt_domain_enum
Definition: tbb_profiling.h:137
tbb::internal::ITT_DOMAIN_ALGO
@ ITT_DOMAIN_ALGO
Definition: tbb_profiling.h:137
tbb::internal::ITT_NUM_DOMAINS
@ ITT_NUM_DOMAINS
Definition: tbb_profiling.h:137
tbb::internal::ITT_DOMAIN_MAIN
@ ITT_DOMAIN_MAIN
Definition: tbb_profiling.h:137
tbb::internal::ITT_DOMAIN_FLOW
@ ITT_DOMAIN_FLOW
Definition: tbb_profiling.h:137
tbb::internal::itt_relation_add
void itt_relation_add(itt_domain_enum, void *, unsigned long long, itt_relation, void *, unsigned long long)
Definition: tbb_profiling.h:284
tbb::internal::itt_make_task_group
void itt_make_task_group(itt_domain_enum, void *, unsigned long long, void *, unsigned long long, string_index)
Definition: tbb_profiling.h:278
tbb::internal::itt_set_sync_name_v3
void itt_set_sync_name_v3(void *obj, const tchar *name)
Definition: tbb_main.cpp:444
tbb::internal::itt_load_pointer_with_acquire_v3
void *__TBB_EXPORTED_FUNC itt_load_pointer_with_acquire_v3(const void *src)
Definition: tbb_main.cpp:276
tbb::internal::itt_load_pointer_v3
void *__TBB_EXPORTED_FUNC itt_load_pointer_v3(const void *src)
Definition: tbb_main.cpp:438
tbb::internal::itt_make_task_group_v7
void __TBB_EXPORTED_FUNC itt_make_task_group_v7(itt_domain_enum domain, void *group, unsigned long long group_extra, void *parent, unsigned long long parent_extra, string_index name_index)
Definition: tbb_main.cpp:414
tbb::internal::itt_store_word_with_release
void itt_store_word_with_release(tbb::atomic< T > &dst, U src)
Definition: tbb_profiling.h:157
tbb::internal::itt_store_pointer_with_release_v3
void __TBB_EXPORTED_FUNC itt_store_pointer_with_release_v3(void *dst, void *src)
Definition: tbb_main.cpp:271
tbb::internal::itt_metadata_ptr_add_v11
void __TBB_EXPORTED_FUNC itt_metadata_ptr_add_v11(itt_domain_enum domain, void *addr, unsigned long long addr_extra, string_index key, void *value)
Definition: tbb_main.cpp:423
tbb::internal::itt_task_begin_v7
void __TBB_EXPORTED_FUNC itt_task_begin_v7(itt_domain_enum domain, void *task, unsigned long long task_extra, void *parent, unsigned long long parent_extra, string_index name_index)
Definition: tbb_main.cpp:426
tbb::internal::itt_hide_load_word
T itt_hide_load_word(const T &src)
Definition: tbb_profiling.h:222
tbb::internal::call_itt_notify
void call_itt_notify(notify_type, void *)
Definition: tbb_profiling.h:276
tbb::internal::__TBB_store_with_release
void __TBB_store_with_release(volatile T &location, V value)
Definition: tbb_machine.h:716
tbb::internal::itt_region_begin
void itt_region_begin(itt_domain_enum, void *, unsigned long long, void *, unsigned long long, string_index)
Definition: tbb_profiling.h:292
internal
Definition: _flow_graph_async_msg_impl.h:24
tbb::task
Base class for user-defined tasks.
Definition: task.h:615

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.