Intel® Graphics Performance Analyzers User Guide

ID 767266
Date 3/15/2023

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Relation API

Relation API binds two named instances, for example, tasks, with a reasonable relation attribute. Relations can be added before or after the actual instances are created and persist independently of the instances.

To logically group a bunch of tasks, you can use different types of relations:

void ITTAPI __itt_relation_add(const __itt_domain *domain, __itt_id head, __itt_relation relation, __itt_id tail)

void ITTAPI __itt_relation_add_ex(const __itt_domain *domain, __itt_clock_domain* clock_domain, unsigned long long timestamp, __itt_id head, __itt_relation relation, __itt_id tail)

Parameters of the primitives:

Type Parameter Description
[in] __itt_domain* domain

Relation domain

[in] __itt_relation relation

User-defined logical relation between two named instances

[in] __itt_id head

Metadata name

[in] __itt_id tail

IDs of two named related instances size_t count

[in] __itt_clock_domain* clock_domain

User-defined clock domain

[in] unsigned long long timestamp

User-defined timestamp for the corresponding clock domain