ITT profiling utilities¶
Overview¶
Configurable macro wrappers for ITT profiling. More…
// namespaces
namespace openvino;
namespace openvino::cc;
namespace openvino::cc::internal;
namespace openvino::itt;
// typedefs
typedef struct openvino::itt::domain_ \* openvino::itt::domain_t;
typedef struct openvino::itt::handle_ \* openvino::itt::handle_t;
// classes
template <domain_t(\*)() domain>
class openvino::itt::ScopedTask;
template <domain_t(\*)() domain>
class openvino::itt::TaskChain;
// global functions
void openvino::itt::threadName(const char \* name);
handle_t openvino::itt::handle(char const \* name);
// macros
#define OV_ITT_DOMAIN(...)
#define OV_ITT_SCOPE(group, ...)
#define OV_ITT_SCOPED_TASK(...)
#define OV_ITT_SCOPE_NEXT(group, ...)
#define OV_ITT_SCOPE_SKIP(group, chainId)
#define OV_ITT_TASK_CHAIN(...)
#define OV_ITT_TASK_NEXT(...)
#define OV_ITT_TASK_SKIP(chainId)
Detailed Documentation¶
Configurable macro wrappers for ITT profiling.
Typedefs¶
typedef struct openvino::itt::domain_ \* openvino::itt::domain_t
A domain type which enables tagging trace data for different modules or libraries in a program.
typedef struct openvino::itt::handle_ \* openvino::itt::handle_t
Annotation handle for section of code which would be named at runtime.
Global Functions¶
void openvino::itt::threadName(const char \* name)
Set thread name using a char string.
Parameters:
name |
[in] The thread name |
handle_t openvino::itt::handle(char const \* name)
Create annotation handle with a given name.
If template function is instantiated with a tag, the handle is created as a singleton.
Parameters:
name |
[in] The annotation name |
Macros¶
#define OV_ITT_DOMAIN(...)
Declare domain with a given name.
Parameters:
domainName |
[in] Known at compile time name of module or library (the domain name). |
domainDisplayName |
[in] Domain name used as the ITT counter name and displayed in Intel VTune. Parameter is optional. |
#define OV_ITT_SCOPE(group, ...)
Annotate section of code till scope exit to be profiled using known handle
or taskName
as section id.
In case if handle or taskName absent, the current function name is used.
Parameters:
group |
[in] ITT counter group name used for enabling/disabling at compile time. |
domainName |
[in] Known at compile time name of module or library (the domain name). |
handleOrTaskName |
[in] The annotation name or handle for section of code. Parameter is optional. |
#define OV_ITT_SCOPED_TASK(...)
Annotate section of code till scope exit to be profiled using known handle
or taskName
as section id.
In case if handle or taskName absent, the current function name is used.
Parameters:
domainName |
[in] Known at compile time name of module or library (the domain name). |
handleOrTaskName |
[in] The annotation name or handle for section of code. Parameter is optional. |
#define OV_ITT_SCOPE_NEXT(group, ...)
Inserts new annotated section of code to tasks chain using taskName
as section id.
If taskName is missing, the current chain index is used.
Parameters:
group |
[in] ITT counter group name used for enabling/disabling at compile time. |
chainId |
[in] The tasks chain identifier. |
taskOrTaskName |
[in] The annotation name or handle for section of code. Parameter is optional. |
#define OV_ITT_SCOPE_SKIP(group, chainId)
Skips the remaining task scope.
Parameters:
group |
[in] ITT counter group name used for enabling/disabling at compile time. |
chainId |
[in] The tasks chain identifier. |
#define OV_ITT_TASK_CHAIN(...)
Begins the sequrence of an annotated sections of code using prefix
and taskName
as section id.
In case if prefix absent, the current function name is used, if taskName absent, the first chain index is used, i.e 1. In case if prefix absent, the current function name is used, if taskName absent, the first chain index is used, i.e 1.
Parameters:
group |
[in] ITT counter group name used for enabling/disabling at compile time. |
chainId |
[in] The tasks chain identifier. |
domainName |
[in] Known at compile time name of module or library (the domain name). |
prefix |
[in] The task chain name prefix. The task name starts with this prefix. Parameter is optional. |
taskName |
[in] The annotation name for section of code. Parameter is optional. |
chainId |
[in] The tasks chain identifier. |
domainName |
[in] Known at compile time name of module or library (the domain name). |
prefix |
[in] The task chain name prefix. The task name starts with this prefix. Parameter is optional. |
taskName |
[in] The annotation name for section of code. Parameter is optional. |
#define OV_ITT_TASK_NEXT(...)
Inserts new annotated section of code to tasks chain using taskName
as section id.
If taskName is missing, the current chain index is used.
Parameters:
chainId |
[in] The tasks chain identifier. |
taskOrTaskName |
[in] The annotation name or handle for section of code. Parameter is optional. |
#define OV_ITT_TASK_SKIP(chainId)
Skips the remaining task scope.
Parameters:
chainId |
[in] The tasks chain identifier. |