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

Domain API

A
domain
enables you to tag trace data for different modules or libraries in a program. Domains are specified by unique character strings, for example
TBB.Internal.Control
.
Each domain is represented by an opaque
__itt_domain
structure, which you can use to tag each of the ITT API calls in your code.
You can selectively enable or disable specific domains in your application, in order to filter the subsets of instrumentation that are collected into the output trace capture file. Upon the first start, the application registers its domains in a configuration file of the Intel® GPA Graphics Monitor. By default, upon the first start of the application all the domains are enabled. To enable or disable domains for subsequent starts of the application, do the following before the start:
  1. Open the
    Graphics Monitor
    Launcher Screen
    .
  2. Click the
    Options
    button.
  3. Click the
    Tracing
    tab.
  4. Turn on or off the
    User Domains
    toggle buttons.
The overhead of a disabled domain is a single
if
check
To create a domain, use the following primitives:
__itt_domain *ITTAPI __itt_domain_createA ( const char *name) __itt_domain *ITTAPI __itt_domain_createW ( const wchar_t *name)
Or use the macro in the following way:
__itt_domain *ITTAPI __itt_domain_create (__TEXT("TBB.Internal.Control"))
For a domain name the URI naming style is recommended (for example,
com.my_company.my_application
). The set of domains is expected to be static over the application's execution time, therefore, 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 of the primitives:
[in]
name
Name of domain
 
 
Example
#include "ittnotify.h" __itt_domain* pD = __itt_domain_create(__TEXT("My Domain") );

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