ittnotify.h File Reference
`#include <stdarg.h>`
Include dependency graph for ittnotify.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | __itt_pt_region_create __itt_pt_region_createA
#define | __itt_thread_set_name __itt_thread_set_nameA
#define | __itt_thread_set_name_ptr __itt_thread_set_nameA_ptr
#define | __itt_attr_barrier 1
| possible value of attribute argument for sync object type More...
#define | __itt_attr_mutex 2
| possible value of attribute argument for sync object type More...
#define | __itt_sync_create __itt_sync_createA
#define | __itt_sync_create_ptr __itt_sync_createA_ptr
#define | __itt_sync_rename __itt_sync_renameA
#define | __itt_sync_rename_ptr __itt_sync_renameA_ptr
#define | __itt_heap_function_create __itt_heap_function_createA
#define | __itt_heap_function_create_ptr __itt_heap_function_createA_ptr
#define | __itt_heap_leaks
| Specify the type of heap detection/reporting to modify. More...
#define | __itt_heap_growth
| Report on memory growth. More...
#define | __itt_domain_create __itt_domain_createA
#define | __itt_domain_create_ptr __itt_domain_createA_ptr
#define | __itt_string_handle_create __itt_string_handle_createA
#define | __itt_string_handle_create_ptr __itt_string_handle_createA_ptr
#define | __itt_timestamp_none ((__itt_timestamp)-1LL)
#define | __itt_metadata_str_add __itt_metadata_str_addA
#define | __itt_metadata_str_add_ptr __itt_metadata_str_addA_ptr
#define | __itt_metadata_str_add_with_scope __itt_metadata_str_add_with_scopeA
#define | __itt_metadata_str_add_with_scope_ptr __itt_metadata_str_add_with_scopeA_ptr
#define | __itt_counter_inc ITTNOTIFY_VOID(counter_inc)
#define | __itt_counter_inc_ptr ITTNOTIFY_NAME(counter_inc)
#define | __itt_counter_inc_delta ITTNOTIFY_VOID(counter_inc_delta)
#define | __itt_counter_inc_delta_ptr ITTNOTIFY_NAME(counter_inc_delta)
#define | __itt_counter_dec ITTNOTIFY_VOID(counter_dec)
#define | __itt_counter_dec_ptr ITTNOTIFY_NAME(counter_dec)
#define | __itt_counter_dec_delta ITTNOTIFY_VOID(counter_dec_delta)
#define | __itt_counter_dec_delta_ptr ITTNOTIFY_NAME(counter_dec_delta)
#define | __itt_counter_inc_v3(d, x) ITTNOTIFY_VOID_D1(counter_inc_v3,d,x)
#define | __itt_counter_inc_v3_ptr ITTNOTIFY_NAME(counter_inc_v3)
#define | __itt_counter_inc_delta_v3(d, x, y) ITTNOTIFY_VOID_D2(counter_inc_delta_v3,d,x,y)
#define | __itt_counter_inc_delta_v3_ptr ITTNOTIFY_NAME(counter_inc_delta_v3)
#define | __itt_counter_dec_v3(d, x) ITTNOTIFY_VOID_D1(counter_dec_v3,d,x)
#define | __itt_counter_dec_v3_ptr ITTNOTIFY_NAME(counter_dec_v3)
#define | __itt_counter_dec_delta_v3(d, x, y) ITTNOTIFY_VOID_D2(counter_dec_delta_v3,d,x,y)
#define | __itt_counter_dec_delta_v3_ptr ITTNOTIFY_NAME(counter_dec_delta_v3)
#define | __itt_counter_set_value ITTNOTIFY_VOID(counter_set_value)
#define | __itt_counter_set_value_ptr ITTNOTIFY_NAME(counter_set_value)
#define | __itt_counter_create_typed __itt_counter_create_typedA
#define | __itt_counter_create_typed_ptr __itt_counter_create_typedA_ptr
#define | __itt_counter_create_typedA ITTNOTIFY_DATA(counter_create_typedA)
#define | __itt_counter_create_typedA_ptr ITTNOTIFY_NAME(counter_create_typedA)
#define | __itt_counter_create_typedW ITTNOTIFY_DATA(counter_create_typedW)
#define | __itt_counter_create_typedW_ptr ITTNOTIFY_NAME(counter_create_typedW)
#define | __itt_counter_destroy ITTNOTIFY_VOID(counter_destroy)
#define | __itt_counter_destroy_ptr ITTNOTIFY_NAME(counter_destroy)
#define | __itt_av_save __itt_av_saveA
#define | __itt_av_save_ptr __itt_av_saveA_ptr
#define | __itt_module_load __itt_module_loadA
#define | __itt_module_load_ptr __itt_module_loadA_ptr

## Typedefs

typedef unsigned char | __itt_pt_region
typedef void * | __itt_model_site
| handle for lexical site More...
typedef void * | __itt_model_site_instance
| handle for dynamic instance More...
typedef void * | __itt_model_task
| handle for lexical site More...
typedef void * | __itt_model_task_instance
| handle for dynamic instance More...
typedef void * | __itt_heap_function
typedef enum ___itt_track_type | __itt_track_type
| Placeholder for custom track types. Currently, "normal" custom track is the only available track type. More...

## Enumerations

enum | __itt_model_disable { __itt_model_disable_observation, __itt_model_disable_collection }
| Enumerator for the disable methods. More...
enum | __itt_scope { __itt_scope_unknown = 0, __itt_scope_global, __itt_scope_track_group, __itt_scope_track, __itt_scope_task, __itt_scope_marker }
| Describes the scope of an event object in the trace. More...
enum | __itt_metadata_type { __itt_metadata_unknown = 0, __itt_metadata_u64, __itt_metadata_s64, __itt_metadata_u32, __itt_metadata_s32, __itt_metadata_u16, __itt_metadata_s16, __itt_metadata_float, __itt_metadata_double }
| describes the type of metadata More...
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 }

The kind of relation between two instances is specified by the enumerated type __itt_relation. Relations between instances can be added with an API call. The relation API uses instance IDs. Relations can be added before or after the actual instances are created and persist independently of the instances. This is the motivation for having different lifetimes for instance IDs and the actual instances. More...

enum | ___itt_track_type { __itt_track_type_normal = 0 }
| Placeholder for custom track types. Currently, "normal" custom track is the only available track type. More...
enum | __itt_av_data_type { __itt_e_first = 0, __itt_e_char = 0, __itt_e_uchar, __itt_e_int16, __itt_e_uint16, __itt_e_int32, __itt_e_uint32, __itt_e_int64, __itt_e_uint64, __itt_e_float, __itt_e_double, __itt_e_last = __itt_e_double }
| Defines types of arrays data (for C/C++ intrinsic types) More...

## Functions

__itt_pt_region ITTAPI | __itt_pt_region_createA (const char *name)
| function saves a region name marked with Intel PT API and returns a region id. Only 7 names can be registered. Attempts to register more names will be ignored and a region id with auto names will be returned. For automatic naming of regions pass NULL as function parameter More...
__itt_pt_region ITTAPI | __itt_pt_region_createW (const wchar_t *name)
void | __itt_mark_pt_region_begin (__itt_pt_region region)
| function contains a special code pattern identified on the post-processing stage and marks the beginning of a code region targeted for Intel PT analysis More...
void | __itt_mark_pt_region_end (__itt_pt_region region)
| function contains a special code pattern identified on the post-processing stage and marks the end of a code region targeted for Intel PT analysis More...
void ITTAPI | __itt_thread_set_nameA (const char *name)
| Sets thread name of calling thread. More...
void ITTAPI | __itt_thread_set_nameW (const wchar_t *name)
void ITTAPI | __itt_sync_createA (void *addr, const char *objtype, const char *objname, int attribute)
| Name a synchronization object. More...
void ITTAPI | __itt_sync_createW (void *addr, const wchar_t *objtype, const wchar_t *objname, int attribute)
void ITTAPI | __itt_sync_renameA (void *addr, const char *name)
| Rename a synchronization object. More...
void ITTAPI | __itt_sync_renameW (void *addr, const wchar_t *name)
void ITTAPI | __itt_sync_destroy (void *addr)
| Destroy a synchronization object. More...
void ITTAPI | __itt_model_site_begin (__itt_model_site *site, __itt_model_site_instance *instance, const char *name)
| ANNOTATE_SITE_BEGIN/ANNOTATE_SITE_END support. More...
void ITTAPI | __itt_model_site_beginW (const wchar_t *name)
void ITTAPI | __itt_model_site_beginA (const char *name)
void ITTAPI | __itt_model_site_beginAL (const char *name, size_t siteNameLen)
void ITTAPI | __itt_model_site_end (__itt_model_site *site, __itt_model_site_instance *instance)
void ITTAPI | __itt_model_site_end_2 (void)
void ITTAPI | __itt_model_task_begin (__itt_model_task *task, __itt_model_task_instance *instance, const char *name)
| ANNOTATE_TASK_BEGIN/ANNOTATE_TASK_END support. More...
void ITTAPI | __itt_model_task_beginW (const wchar_t *name)
void ITTAPI | __itt_model_iteration_taskW (const wchar_t *name)
void ITTAPI | __itt_model_task_beginA (const char *name)
void ITTAPI | __itt_model_task_beginAL (const char *name, size_t taskNameLen)
void ITTAPI | __itt_model_iteration_taskA (const char *name)
void ITTAPI | __itt_model_iteration_taskAL (const char *name, size_t taskNameLen)
void ITTAPI | __itt_model_task_end (__itt_model_task *task, __itt_model_task_instance *instance)
void ITTAPI | __itt_model_task_end_2 (void)
void ITTAPI | __itt_model_lock_acquire (void *lock)
| ANNOTATE_LOCK_ACQUIRE/ANNOTATE_LOCK_RELEASE support. More...
void ITTAPI | __itt_model_lock_acquire_2 (void *lock)
void ITTAPI | __itt_model_lock_release (void *lock)
void ITTAPI | __itt_model_lock_release_2 (void *lock)
void ITTAPI | __itt_model_record_allocation (void *addr, size_t size)
| ANNOTATE_RECORD_ALLOCATION/ANNOTATE_RECORD_DEALLOCATION support. More...
void ITTAPI | __itt_model_record_deallocation (void *addr)
void ITTAPI | __itt_model_induction_uses (void *addr, size_t size)
| ANNOTATE_INDUCTION_USES support. More...
void ITTAPI | __itt_model_reduction_uses (void *addr, size_t size)
| ANNOTATE_REDUCTION_USES support. More...
void ITTAPI | __itt_model_observe_uses (void *addr, size_t size)
| ANNOTATE_OBSERVE_USES support. More...
void ITTAPI | __itt_model_clear_uses (void *addr)
| ANNOTATE_CLEAR_USES support. More...
void ITTAPI | __itt_model_disable_push (__itt_model_disable x)
| ANNOTATE_DISABLE_*_PUSH/ANNOTATE_DISABLE_*_POP support. More...
void ITTAPI | __itt_model_disable_pop (void)
void ITTAPI | __itt_model_aggregate_task (size_t x)
__itt_heap_function ITTAPI | __itt_heap_function_createA (const char *name, const char *domain)
| Create an identification for heap function. More...
__itt_heap_function ITTAPI | __itt_heap_function_createW (const wchar_t *name, const wchar_t *domain)
void ITTAPI | __itt_heap_allocate_begin (__itt_heap_function h, size_t size, int initialized)
| Record an allocation begin occurrence. More...
void ITTAPI | __itt_heap_allocate_end (__itt_heap_function h, void **addr, size_t size, int initialized)
| Record an allocation end occurrence. More...
void ITTAPI | __itt_heap_free_begin (__itt_heap_function h, void *addr)
| Record an free begin occurrence. More...
void ITTAPI | __itt_heap_free_end (__itt_heap_function h, void *addr)
| Record an free end occurrence. More...
void ITTAPI | __itt_heap_reallocate_begin (__itt_heap_function h, void *addr, size_t new_size, int initialized)
| Record an reallocation begin occurrence. More...
void ITTAPI | __itt_heap_reallocate_end (__itt_heap_function h, void *addr, void **new_addr, size_t new_size, int initialized)
| Record an reallocation end occurrence. More...
void ITTAPI | __itt_heap_internal_access_begin (void)
| internal access begin More...
void ITTAPI | __itt_heap_internal_access_end (void)
| internal access end More...
void ITTAPI | __itt_heap_record_memory_growth_begin (void)
| record memory growth begin More...
void ITTAPI | __itt_heap_record_memory_growth_end (void)
| record memory growth end More...
void ITTAPI | __itt_heap_reset_detection (unsigned int reset_mask)
| heap reset detection More...
void ITTAPI | __itt_heap_record (unsigned int record_mask)
| report More...
__itt_domain *ITTAPI | __itt_domain_createA (const char *name)
| Create a domain. Create domain using some domain name: the URI naming style is recommended. Because the set of domains is expected to be static over the application's execution time, there is no mechanism to destroy a domain. Any domain can be accessed by any thread in the process, regardless of which thread created the domain. This call is thread-safe. More...
__itt_domain *ITTAPI | __itt_domain_createW (const wchar_t *name)
ITT_INLINE __itt_id ITTAPI | __itt_id_make (void *addr, unsigned long long extra) ITT_INLINE_ATTRIBUTE
| A convenience function is provided to create an ID without domain control. More...
void ITTAPI | __itt_id_create (const __itt_domain *domain, __itt_id id)
| Create an instance of identifier. This establishes the beginning of the lifetime of an instance of the given ID in the trace. Once this lifetime starts, the ID can be used to tag named entity instances in calls such as __itt_task_begin, and to specify relationships among identified named entity instances, using the Relations APIs. Instance IDs are not domain specific! More...
void ITTAPI | __itt_id_destroy (const __itt_domain *domain, __itt_id id)
| Destroy an instance of identifier. This ends the lifetime of the current instance of the given ID value in the trace. Any relationships that are established after this lifetime ends are invalid. This call must be performed before the given ID value can be reused for a different named entity instance. More...
__itt_string_handle *ITTAPI | __itt_string_handle_createA (const char *name)

Create a string handle. Create and return handle value that can be associated with a string. Consecutive calls to __itt_string_handle_create with the same name return the same value. Because the set of string handles is expected to remain static during the application's execution time, there is no mechanism to destroy a string handle. Any string handle can be accessed by any thread in the process, regardless of which thread created the string handle. This call is thread-safe. More...

__itt_string_handle *ITTAPI | __itt_string_handle_createW (const wchar_t *name)
void ITTAPI | __itt_frame_begin_v3 (const __itt_domain *domain, __itt_id *id)
| Begin a frame instance. Successive calls to __itt_frame_begin with the same ID are ignored until a call to __itt_frame_end with the same ID. More...
void ITTAPI | __itt_frame_end_v3 (const __itt_domain *domain, __itt_id *id)
| End a frame instance. The first call to __itt_frame_end with a given ID ends the frame. Successive calls with the same ID are ignored, as are calls that do not have a matching __itt_frame_begin call. More...
void ITTAPI | __itt_frame_submit_v3 (const __itt_domain *domain, __itt_id *id, __itt_timestamp begin, __itt_timestamp end)
| Submits a frame instance. Successive calls to __itt_frame_begin or __itt_frame_submit with the same ID are ignored until a call to __itt_frame_end or __itt_frame_submit with the same ID. Passing special __itt_timestamp_none value as "end" argument means take the current timestamp as the end timestamp. More...
void ITTAPI | __itt_task_group (const __itt_domain *domain, __itt_id id, __itt_id parentid, __itt_string_handle *name)
| Denotes a task_group instance. Successive calls to __itt_task_group with the same ID are ignored. More...
void ITTAPI | __itt_task_begin (const __itt_domain *domain, __itt_id taskid, __itt_id parentid, __itt_string_handle *name)
| Begin a task instance. More...
void ITTAPI | __itt_task_begin_fn (const __itt_domain *domain, __itt_id taskid, __itt_id parentid, void *fn)
| Begin a task instance. More...
void ITTAPI | __itt_task_end (const __itt_domain *domain)
| End the current task instance. More...
void ITTAPI | __itt_task_begin_overlapped (const __itt_domain *domain, __itt_id taskid, __itt_id parentid, __itt_string_handle *name)
| Begin an overlapped task instance. More...
void ITTAPI | __itt_task_end_overlapped (const __itt_domain *domain, __itt_id taskid)
| End an overlapped task instance. More...
void ITTAPI | __itt_marker (const __itt_domain *domain, __itt_id id, __itt_string_handle *name, __itt_scope scope)
| Create a marker instance. More...
void ITTAPI | __itt_metadata_add (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, __itt_metadata_type type, size_t count, void *data)
| Add metadata to an instance of a named entity. More...
void ITTAPI | __itt_metadata_str_addA (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, const char *data, size_t length)
| Add string metadata to an instance of a named entity. More...
void ITTAPI | __itt_metadata_str_addW (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, const wchar_t *data, size_t length)
void ITTAPI | __itt_metadata_add_with_scope (const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, __itt_metadata_type type, size_t count, void *data)
| Add metadata to an instance of a named entity. More...
void ITTAPI | __itt_metadata_str_add_with_scopeA (const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, const char *data, size_t length)
| Add string metadata to an instance of a named entity. More...
void ITTAPI | __itt_metadata_str_add_with_scopeW (const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, const wchar_t *data, size_t length)
void ITTAPI | __itt_relation_add_to_current (const __itt_domain *domain, __itt_relation relation, __itt_id tail)
| Add a relation to the current task instance. The current task instance is the head of the relation. More...
void ITTAPI | __itt_relation_add (const __itt_domain *domain, __itt_id head, __itt_relation relation, __itt_id tail)
| Add a relation between two instance identifiers. More...
__itt_clock_domain *ITTAPI | __itt_clock_domain_create (__itt_get_clock_info_fn fn, void *fn_data)

Create a clock domain. Certain applications require the capability to trace their application using a clock domain different than the CPU, for instance the instrumentation of events that occur on a GPU. Because the set of domains is expected to be static over the application's execution time, there is no mechanism to destroy a domain. Any domain can be accessed by any thread in the process, regardless of which thread created the domain. This call is thread-safe. More...

void ITTAPI | __itt_clock_domain_reset (void)
| Recalculate clock domains frequencies and clock base timestamps. More...
void ITTAPI | __itt_id_create_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id id)
| Create an instance of identifier. This establishes the beginning of the lifetime of an instance of the given ID in the trace. Once this lifetime starts, the ID can be used to tag named entity instances in calls such as __itt_task_begin, and to specify relationships among identified named entity instances, using the Relations APIs. More...
void ITTAPI | __itt_id_destroy_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id id)
| Destroy an instance of identifier. This ends the lifetime of the current instance of the given ID value in the trace. Any relationships that are established after this lifetime ends are invalid. This call must be performed before the given ID value can be reused for a different named entity instance. More...
void ITTAPI | __itt_task_begin_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id taskid, __itt_id parentid, __itt_string_handle *name)
| Begin a task instance. More...
void ITTAPI | __itt_task_begin_fn_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id taskid, __itt_id parentid, void *fn)
| Begin a task instance. More...
void ITTAPI | __itt_task_end_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp)
| End the current task instance. More...
void ITTAPI | __itt_counter_inc (__itt_counter id)
| opaque structure for counter identification More...
void ITTAPI | __itt_counter_inc_delta (__itt_counter id, unsigned long long value)
| Increment the unsigned 64 bits integer counter value with x. More...
void ITTAPI | __itt_counter_dec (__itt_counter id)
| Decrement the unsigned 64 bits integer counter value. More...
void ITTAPI | __itt_counter_dec_delta (__itt_counter id, unsigned long long value)
| Decrement the unsigned 64 bits integer counter value with x. More...
void ITTAPI | __itt_counter_inc_v3 (const __itt_domain *domain, __itt_string_handle *name)
| Increment a counter by one. The first call with a given name creates a counter by that name and sets its value to zero. Successive calls increment the counter value. More...
void ITTAPI | __itt_counter_inc_delta_v3 (const __itt_domain *domain, __itt_string_handle *name, unsigned long long delta)
| Increment a counter by the value specified in delta. More...
void ITTAPI | __itt_counter_dec_v3 (const __itt_domain *domain, __itt_string_handle *name)
| Decrement a counter by one. The first call with a given name creates a counter by that name and sets its value to zero. Successive calls decrement the counter value. More...
void ITTAPI | __itt_counter_dec_delta_v3 (const __itt_domain *domain, __itt_string_handle *name, unsigned long long delta)
| Decrement a counter by the value specified in delta. More...
void ITTAPI | __itt_counter_set_value (__itt_counter id, void *value_ptr)
| Set the counter value. More...
void ITTAPI | __itt_counter_set_value_ex (__itt_counter id, __itt_clock_domain *clock_domain, unsigned long long timestamp, void *value_ptr)
| Set the counter value. More...
__itt_counter ITTAPI | __itt_counter_create_typedA (const char *name, const char *domain, __itt_metadata_type type)
| Create a typed counter with given name/domain. More...
__itt_counter ITTAPI | __itt_counter_create_typedW (const wchar_t *name, const wchar_t *domain, __itt_metadata_type type)
void ITTAPI | __itt_counter_destroy (__itt_counter id)
| Destroy the counter identified by the pointer previously returned by __itt_counter_create() or __itt_counter_create_typed() More...
void ITTAPI | __itt_marker_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id id, __itt_string_handle *name, __itt_scope scope)
| Create a marker instance. More...
void ITTAPI | __itt_relation_add_to_current_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_relation relation, __itt_id tail)
| Add a relation to the current task instance. The current task instance is the head of the relation. More...
void ITTAPI | __itt_relation_add_ex (const __itt_domain *domain, __itt_clock_domain *clock_domain, unsigned long long timestamp, __itt_id head, __itt_relation relation, __itt_id tail)
| Add a relation between two instance identifiers. More...
__itt_track_group *ITTAPI | __itt_track_group_create (__itt_string_handle *name, __itt_track_group_type track_group_type)
| Create logical track group. More...
__itt_track *ITTAPI | __itt_track_create (__itt_track_group *track_group, __itt_string_handle *name, __itt_track_type track_type)
| Create logical track. More...
void ITTAPI | __itt_set_track (__itt_track *track)
| Set the logical track. More...
int LIBITTAPI | __itt_event_start (__itt_event event)
| Record an event occurrence. More...
int LIBITTAPI | __itt_event_end (__itt_event event)
| Record an event end occurrence. More...
int ITTAPI | __itt_av_saveA (void *data, int rank, const int *dimensions, int type, const char *filePath, int columnOrder)
| Save an array data to a file. Output format is defined by the file extension. The csv and bmp formats are supported (bmp - for 2-dimensional array only). More...
int ITTAPI | __itt_av_saveW (void *data, int rank, const int *dimensions, int type, const wchar_t *filePath, int columnOrder)
void ITTAPI | __itt_enable_attach (void)
void ITTAPI | __itt_module_loadA (void *start_addr, void *end_addr, const char *path)
| Module load info This API is used to report necessary information in case of module relocation. More...
void ITTAPI | __itt_module_loadW (void *start_addr, void *end_addr, const wchar_t *path)
group of functions is used for performance measurement tools
void ITTAPI | __itt_sync_prepare (void *addr)
| Enter spin loop on user-defined sync object. More...
void ITTAPI | __itt_sync_cancel (void *addr)
| Quit spin loop without acquiring spin object. More...
void ITTAPI | __itt_sync_acquired (void *addr)
| Successful spin loop completion (sync object acquired) More...
void ITTAPI | __itt_sync_releasing (void *addr)
| Start sync object releasing code. Is called before the lock release call. More...
group of functions is used for correctness checking tools
void ITTAPI | __itt_fsync_prepare (void *addr)
| Fast synchronization which does no require spinning. More...
void ITTAPI | __itt_fsync_cancel (void *addr)
| Fast synchronization which does no require spinning. More...
void ITTAPI | __itt_fsync_acquired (void *addr)
| Fast synchronization which does no require spinning. More...
void ITTAPI | __itt_fsync_releasing (void *addr)
| Fast synchronization which does no require spinning. More...

## Variables

static const __itt_id | __itt_null = { 0, 0, 0 }

## group of functions used for error suppression in correctness tools

#define | __itt_suppress_all_errors
| possible value for suppression mask More...
#define | __itt_suppress_threading_errors
| possible value for suppression mask (suppresses errors from threading analysis) More...
#define | __itt_suppress_memory_errors
| possible value for suppression mask (suppresses errors from memory analysis) More...
enum | __itt_suppress_mode { __itt_unsuppress_range, __itt_suppress_range }
typedef enum __itt_suppress_mode | __itt_suppress_mode_t
void ITTAPI | __itt_suppress_push (unsigned int mask)
| Start suppressing errors identified in mask on this thread. More...
void ITTAPI | __itt_suppress_pop (void)
| Undo the effects of the matching call to __itt_suppress_push. More...
void ITTAPI | __itt_suppress_mark_range (__itt_suppress_mode_t mode, unsigned int mask, void *address, size_t size)
| Mark a range of memory for error suppression or unsuppression for error types included in mask. More...
void ITTAPI | __itt_suppress_clear_range (__itt_suppress_mode_t mode, unsigned int mask, void *address, size_t size)
| Undo the effect of a matching call to __itt_suppress_mark_range. If not matching call is found, nothing is changed. More...

## Macro Definition Documentation

## __itt_counter_create_typed

#define __itt_counter_create_typed __itt_counter_create_typedA

Definition at line 3161 of file ittnotify.h.

## __itt_counter_create_typed_ptr

#define __itt_counter_create_typed_ptr __itt_counter_create_typedA_ptr

Definition at line 3162 of file ittnotify.h.

## __itt_counter_create_typedA

#define __itt_counter_create_typedA ITTNOTIFY_DATA(counter_create_typedA)

Definition at line 3177 of file ittnotify.h.

## __itt_counter_create_typedA_ptr

#define __itt_counter_create_typedA_ptr ITTNOTIFY_NAME(counter_create_typedA)

Definition at line 3178 of file ittnotify.h.

## __itt_counter_create_typedW

#define __itt_counter_create_typedW ITTNOTIFY_DATA(counter_create_typedW)

Definition at line 3179 of file ittnotify.h.

## __itt_counter_create_typedW_ptr

#define __itt_counter_create_typedW_ptr ITTNOTIFY_NAME(counter_create_typedW)

Definition at line 3180 of file ittnotify.h.

## __itt_counter_destroy

#define __itt_counter_destroy ITTNOTIFY_VOID(counter_destroy)

Definition at line 3215 of file ittnotify.h.

## __itt_counter_destroy_ptr

#define __itt_counter_destroy_ptr ITTNOTIFY_NAME(counter_destroy)

Definition at line 3216 of file ittnotify.h.

## __itt_counter_set_value

#define __itt_counter_set_value ITTNOTIFY_VOID(counter_set_value)

Definition at line 3116 of file ittnotify.h.

## __itt_counter_set_value_ptr

#define __itt_counter_set_value_ptr ITTNOTIFY_NAME(counter_set_value)

Definition at line 3117 of file ittnotify.h.

## __itt_timestamp_none

#define __itt_timestamp_none ((__itt_timestamp)-1LL)

Definition at line 2031 of file ittnotify.h.

## Typedef Documentation

## __itt_track_type

typedef enum ___itt_track_type __itt_track_type

Placeholder for custom track types. Currently, "normal" custom track is the only available track type.

## Enumeration Type Documentation

## ___itt_track_type

enum ___itt_track_type

Placeholder for custom track types. Currently, "normal" custom track is the only available track type.

Enumerator
__itt_track_type_normal |

Definition at line 3326 of file ittnotify.h.

{
__itt_track_type_normal = 0
#ifdef INTEL_ITTNOTIFY_API_PRIVATE
, __itt_track_type_queue
#endif /* INTEL_ITTNOTIFY_API_PRIVATE */
} __itt_track_type;

## Function Documentation

## __itt_clock_domain_create()

__itt_clock_domain* ITTAPI __itt_clock_domain_create | ( | __itt_get_clock_info_fn | fn,
|  | void * | fn_data
| ) |  |

Create a clock domain. Certain applications require the capability to trace their application using a clock domain different than the CPU, for instance the instrumentation of events that occur on a GPU. Because the set of domains is expected to be static over the application's execution time, there is no mechanism to destroy a domain. Any domain can be accessed by any thread in the process, regardless of which thread created the domain. This call is thread-safe.

Parameters

  [in] | fn | A pointer to a callback function which retrieves alternative CPU timestamps
  [in] | fn_data | Argument for a callback function; may be NULL

## __itt_clock_domain_reset()

void ITTAPI __itt_clock_domain_reset | ( | void |  | ) |

Recalculate clock domains frequencies and clock base timestamps.

## __itt_counter_create_typedA()

__itt_counter ITTAPI __itt_counter_create_typedA | ( | const char * | name,
|  | const char * | domain,
|  | __itt_metadata_type | type
| ) |  |

Create a typed counter with given name/domain.

After __itt_counter_create_typed() is called, __itt_counter_inc(id), __itt_counter_inc_delta(id, delta), __itt_counter_set_value(id, value_ptr) or __itt_counter_set_value_ex(id, clock_domain, timestamp, value_ptr) can be used to change the value of the counter

## __itt_counter_create_typedW()

__itt_counter ITTAPI __itt_counter_create_typedW | ( | const wchar_t * | name,
|  | const wchar_t * | domain,
|  | __itt_metadata_type | type
| ) |  |

## __itt_counter_destroy()

void ITTAPI __itt_counter_destroy | ( | __itt_counter | id | ) |

Destroy the counter identified by the pointer previously returned by __itt_counter_create() or __itt_counter_create_typed()

## __itt_counter_set_value()

void ITTAPI __itt_counter_set_value | ( | __itt_counter | id,
|  | void * | value_ptr
| ) |  |

Set the counter value.

## __itt_counter_set_value_ex()

void ITTAPI __itt_counter_set_value_ex | ( | __itt_counter | id,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp,
|  | void * | value_ptr
| ) |  |

Set the counter value.

## __itt_event_end()

int LIBITTAPI __itt_event_end | ( | __itt_event | event | ) |

Record an event end occurrence.

Note
  It is optional if events do not have durations.

Returns
  __itt_err upon failure (invalid event id/user event feature not enabled)

## __itt_event_start()

int LIBITTAPI __itt_event_start | ( | __itt_event | event | ) |

Record an event occurrence.

Returns
  __itt_err upon failure (invalid event id/user event feature not enabled)

## __itt_id_create_ex()

void ITTAPI __itt_id_create_ex | ( | const __itt_domain * | domain,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp,
|  | __itt_id | id
| ) |  |

Create an instance of identifier. This establishes the beginning of the lifetime of an instance of the given ID in the trace. Once this lifetime starts, the ID can be used to tag named entity instances in calls such as __itt_task_begin, and to specify relationships among identified named entity instances, using the Relations APIs.

Parameters

  [in] | domain | The domain controlling the execution of this call.
  [in] | clock_domain | The clock domain controlling the execution of this call.
  [in] | timestamp | The user defined timestamp.
  [in] | id | The ID to create.

## __itt_id_destroy_ex()

void ITTAPI __itt_id_destroy_ex | ( | const __itt_domain * | domain,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp,
|  | __itt_id | id
| ) |  |

Destroy an instance of identifier. This ends the lifetime of the current instance of the given ID value in the trace. Any relationships that are established after this lifetime ends are invalid. This call must be performed before the given ID value can be reused for a different named entity instance.

Parameters

  [in] | domain | The domain controlling the execution of this call.
  [in] | clock_domain | The clock domain controlling the execution of this call.
  [in] | timestamp | The user defined timestamp.
  [in] | id | The ID to destroy.

## __itt_relation_add_ex()

void ITTAPI __itt_relation_add_ex | ( | const __itt_domain * | domain,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp,
|  | __itt_id | head,
|  | __itt_relation | relation,
|  | __itt_id | tail
| ) |  |

Add a relation between two instance identifiers.

Parameters

  [in] | domain | The domain controlling this call
  [in] | clock_domain | The clock domain controlling the execution of this call.
  [in] | timestamp | The user defined timestamp.
  [in] | head | The ID for the head of the relation
  [in] | relation | The kind of relation
  [in] | tail | The ID for the tail of the relation

## __itt_relation_add_to_current_ex()

void ITTAPI __itt_relation_add_to_current_ex | ( | const __itt_domain * | domain,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp,
|  | __itt_relation | relation,
|  | __itt_id | tail
| ) |  |

Add a relation to the current task instance. The current task instance is the head of the relation.

Parameters

  [in] | domain | The domain controlling this call
  [in] | clock_domain | The clock domain controlling the execution of this call.
  [in] | timestamp | The user defined timestamp.
  [in] | relation | The kind of relation
  [in] | tail | The ID for the tail of the relation

## __itt_set_track()

void ITTAPI __itt_set_track | ( | __itt_track * | track | ) |

Set the logical track.

## __itt_task_begin_ex()

void ITTAPI __itt_task_begin_ex | ( | const __itt_domain * | domain,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp,
|  | __itt_id | taskid,
|  | __itt_id | parentid,
|  | __itt_string_handle * | name
| ) |  |

Begin a task instance.

Parameters

  [in] | domain | The domain for this task
  [in] | clock_domain | The clock domain controlling the execution of this call.
  [in] | timestamp | The user defined timestamp.
  [in] | taskid | The instance ID for this task instance, or __itt_null
  [in] | parentid | The parent instance to which this task instance belongs, or __itt_null
  [in] | name | The name of this task

## __itt_task_begin_fn_ex()

void ITTAPI __itt_task_begin_fn_ex | ( | const __itt_domain * | domain,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp,
|  | __itt_id | taskid,
|  | __itt_id | parentid,
|  | void * | fn
| ) |  |

Begin a task instance.

Parameters

  [in] | domain | The domain for this task
  [in] | clock_domain | The clock domain controlling the execution of this call.
  [in] | timestamp | The user defined timestamp.
  [in] | taskid | The identifier for this task instance, or __itt_null
  [in] | parentid | The parent of this task, or __itt_null
  [in] | fn | The pointer to the function you are tracing

## __itt_task_end_ex()

void ITTAPI __itt_task_end_ex | ( | const __itt_domain * | domain,
|  | __itt_clock_domain * | clock_domain,
|  | unsigned long long | timestamp
| ) |  |

End the current task instance.

Parameters

  [in] | domain | The domain for this task
  [in] | clock_domain | The clock domain controlling the execution of this call.
  [in] | timestamp | The user defined timestamp.

## __itt_track_create()

__itt_track* ITTAPI __itt_track_create | ( | __itt_track_group * | track_group,
|  | __itt_string_handle * | name,
|  | __itt_track_type | track_type
| ) |  |

Create logical track.

## __itt_track_group_create()

__itt_track_group* ITTAPI __itt_track_group_create | ( | __itt_string_handle * | name,
|  | __itt_track_group_type | track_group_type
| ) |  |

Create logical track group.

__itt_track_type_normal
Definition: ittnotify.h:3328
__itt_track_type
enum ___itt_track_type __itt_track_type
Placeholder for custom track types. Currently, "normal" custom track is the only available track type...

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.