User Guide

  • 2021.3
  • 09/23/2021
  • Public Content
Contents

Clock Domain API

Some applications require the capability to trace events with user-defined timestamps and frequencies different from the timestamps and frequencies generated by a CPU, for example, to instrument events that occur on a GPU. For the purpose you can create a clock domain.
To create a clock domain, use the following primitive:
__itt_clock_domain * ITTAPI __itt_clock_domain_create(__itt_get_clock_info_fn fn, void* fn_data)
Parameters of the primitive:
[in]
fn
Pointer to a callback function that retrieves alternative CPU timestamps and frequencies and stores the timestamps and frequencies data in the clock domain structure field
__itt_clock_info
.
[in]
fn_data
Argument of a callback function; can be NULL.
Tasks issued from different clock domains are shown on the same timeline by synchronizing a referenced clock domain base timestamp captured at the moment of clock domain creation and a CPU timestamp captured at the same time.
To recalculate clock domain base timestamps and frequencies, if necessary, for example, when a GPU frequency changes, use the following primitive:
__itt_clock_domain_reset()

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.