Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
ittnotify.h File Reference

Public User API functions and types. More...

#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...
 

Detailed Description

Public User API functions and types.

Definition in file ittnotify.h.

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

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

Enumeration Type Documentation

◆ ___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.

3327 {
3329 #ifdef INTEL_ITTNOTIFY_API_PRIVATE
3330  , __itt_track_type_queue
3331 #endif /* INTEL_ITTNOTIFY_API_PRIVATE */
enum ___itt_track_type __itt_track_type
Placeholder for custom track types. Currently, "normal" custom track is the only available 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]fnA pointer to a callback function which retrieves alternative CPU timestamps
[in]fn_dataArgument 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]domainThe domain controlling the execution of this call.
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]idThe 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]domainThe domain controlling the execution of this call.
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]idThe 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]domainThe domain controlling this call
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]headThe ID for the head of the relation
[in]relationThe kind of relation
[in]tailThe 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]domainThe domain controlling this call
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]relationThe kind of relation
[in]tailThe 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]domainThe domain for this task
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]taskidThe instance ID for this task instance, or __itt_null
[in]parentidThe parent instance to which this task instance belongs, or __itt_null
[in]nameThe 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]domainThe domain for this task
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe user defined timestamp.
[in]taskidThe identifier for this task instance, or __itt_null
[in]parentidThe parent of this task, or __itt_null
[in]fnThe 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]domainThe domain for this task
[in]clock_domainThe clock domain controlling the execution of this call.
[in]timestampThe 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.


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.