• Intel® Graphics Performance Analyzers 2020 R1
  • 03/31/2020
  • Public Content
Contents

Metadata API

Metadata is extra information, generic data which can be attached to a task, a thread, a process, etc. Metadata has a type, name, and value. The value encoding depends on a metadata type. It may contain either string data or a number of integer or floating point values.
To create metadata, use the following primitives:
void __itt_metadata_add(const __itt_domain *domain, __itt_id id, __itt_string_handle *key, __itt_metadata_type type, size_t count, void *data)
void __itt_metadata_str_addA(const __itt_domain *domain, __itt_id id, __itt_string_handle *key, const char *data, size_t length)
void __itt_metadata_str_addW(const __itt_domain *domain, __itt_id id, __itt_string_handle *key, const wchar_t *data, size_t length)
void __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)
void __itt_metadata_str_add_with_scopeA(const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, const char *data, size_t length)
void __itt_metadata_str_add_with_scopeW(const __itt_domain *domain, __itt_scope scope, __itt_string_handle *key, const wchar_t *data, size_t length)
The following table defines the parameters used in the Metadata API primitives.
Type
Parameter
Description
[in]
__itt_domain* domain
Metadata domain
[in]
__itt_scope scope
Metadata scope: task, thread, process, and global. If a scope is undefined, metadata belongs to the last task in the thread.
[in]
__itt_string_handle* name
Metadata name
[in]
__itt_metadata_type type
Metadata type; used only for numeric metadata
[in]
size_t count
Number of numeric metadata items
[in]
size_t length
Number of symbols a metadata string
[in]
void *data
Actual metadata (array of numerics or string)
const char *data
const wchar_t *data
 
 

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804