Group ITT profiling utilities

group ov_dev_profiling

Configurable macro wrappers for ITT profiling.

Defines

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.

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.

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.

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.

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.

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.

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.

OV_ITT_TASK_SKIP(chainId)

Skips the remaining task scope.

Parameters
  • chainId – [in] The tasks chain identifier.

Typedefs

typedef struct openvino::itt::domain_ *domain_t

A domain type which enables tagging trace data for different modules or libraries in a program.

typedef struct openvino::itt::handle_ *handle_t

Annotation handle for section of code which would be named at runtime.

Functions

inline void threadName(const char *name)

Set thread name using a char string.

Parameters

name – [in] The thread name

inline handle_t 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

template<domain_t (*domain)()>
class ScopedTask
#include <itt.hpp>

Used to annotate section of code which would be named at runtime.

Template Parameters

Thedomain parameter is domain type which shoud be defined with OV_ITT_DOMAIN() macro.

Public Functions

inline ScopedTask(handle_t taskHandle) noexcept

Construct ScopedTask with defined annotation handle.

inline ~ScopedTask() noexcept

The ScopedTask destructor closes or ends the task scope.

template<domain_t (*domain)()>
class TaskChain
#include <itt.hpp>

Used to annotate a sequence of sections of code which would be named at runtime.

Template Parameters

Thedomain parameter is domain type which shoud be defined with OV_ITT_DOMAIN() macro.

Public Functions

inline TaskChain(handle_t taskHandle, std::string &&prefix) noexcept

Construct TaskChain with defined annotation handle.

inline ~TaskChain() noexcept

The TaskChain destructor closes or ends the task scope.

inline void next(handle_t taskHandle)

Ends the previous task from the chain and starts a new one with the given annotation handle.

namespace openvino

openvino namespace

namespace cc
template<typename Key, typename T>
class Factory
template<typename Key, typename T, typename ...Args>
class Factory<Key, T(Args...)>
#include <factory.h>
namespace internal

Functions

template<typename T, typename C>
case_wrapper<C, T> make_case_wrapper(C &&val)
template<template<typename...> class Fn, typename Ctx, typename T, typename Case>
bool match(Ctx &&ctx, T &&val, Case &&cs)
template<template<typename...> class Fn, typename Ctx, typename T, typename Case, typename ...Cases>
bool match(Ctx &&ctx, T &&val, Case &&cs, Cases&&... cases)
template<typename C, typename T>
struct case_wrapper
#include <selective_build.h>
namespace itt

Typedefs

typedef struct openvino::itt::domain_ *domain_t

A domain type which enables tagging trace data for different modules or libraries in a program.

typedef struct openvino::itt::handle_ *handle_t

Annotation handle for section of code which would be named at runtime.

Functions

inline void threadName(const char *name)

Set thread name using a char string.

Parameters

name – [in] The thread name

inline void threadName(const std::string &name)
inline handle_t 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

inline handle_t handle(const std::string &name)
template<typename Tag>
handle_t handle(handle_t h)
struct domain_
#include <itt.hpp>
struct handle_
#include <itt.hpp>
template<domain_t (*domain)()>
class ScopedTask
#include <itt.hpp>

Used to annotate section of code which would be named at runtime.

Template Parameters

Thedomain parameter is domain type which shoud be defined with OV_ITT_DOMAIN() macro.

Public Functions

inline ScopedTask(handle_t taskHandle) noexcept

Construct ScopedTask with defined annotation handle.

inline ~ScopedTask() noexcept

The ScopedTask destructor closes or ends the task scope.

template<domain_t (*domain)()>
class TaskChain
#include <itt.hpp>

Used to annotate a sequence of sections of code which would be named at runtime.

Template Parameters

Thedomain parameter is domain type which shoud be defined with OV_ITT_DOMAIN() macro.

Public Functions

inline TaskChain(handle_t taskHandle, std::string &&prefix) noexcept

Construct TaskChain with defined annotation handle.

inline ~TaskChain() noexcept

The TaskChain destructor closes or ends the task scope.

inline void next(handle_t taskHandle)

Ends the previous task from the chain and starts a new one with the given annotation handle.