LLVM OpenMP 19.0.0git
Enumerations | Functions
Relations

Instances of named entities can be explicitly associated with other instances using instance IDs and the relationship API calls. More...

Collaboration diagram for Relations:

Enumerations

enum  __itt_relation {
  __itt_relation_is_unknown = 0 , __itt_relation_is_dependent_on , __itt_relation_is_sibling_of , __itt_relation_is_parent_of ,
  __itt_relation_is_continuation_of , __itt_relation_is_child_of , __itt_relation_is_continued_by , __itt_relation_is_predecessor_to
}
 The kind of relation between two instances is specified by the enumerated type __itt_relation. More...
 

Functions

void ITTAPI __itt_relation_add_to_current (const __itt_domain *domain, __itt_relation relation, __itt_id tail)
 Add a relation to the current task instance.
 
void ITTAPI __itt_relation_add (const __itt_domain *domain, __itt_id head, __itt_relation relation, __itt_id tail)
 Add a relation between two instance identifiers.
 

Detailed Description

Instances of named entities can be explicitly associated with other instances using instance IDs and the relationship API calls.

Enumeration Type Documentation

◆ __itt_relation

The kind of relation between two instances is specified by the enumerated type __itt_relation.

Relations between instances can be added with an API call. The relation API uses instance IDs. Relations can be added before or after the actual instances are created and persist independently of the instances. This is the motivation for having different lifetimes for instance IDs and the actual instances.

Enumerator
__itt_relation_is_unknown 
__itt_relation_is_dependent_on 

"A is dependent on B" means that A cannot start until B completes

__itt_relation_is_sibling_of 

"A is sibling of B" means that A and B were created as a group

__itt_relation_is_parent_of 

"A is parent of B" means that A created B

__itt_relation_is_continuation_of 

"A is continuation of B" means that A assumes the dependencies of B

__itt_relation_is_child_of 

"A is child of B" means that A was created by B (inverse of is_parent_of)

__itt_relation_is_continued_by 

"A is continued by B" means that B assumes the dependencies of A (inverse of is_continuation_of)

__itt_relation_is_predecessor_to 

"A is predecessor to B" means that B cannot start until A completes (inverse of is_dependent_on)

Definition at line 2825 of file ittnotify.h.

Function Documentation

◆ __itt_relation_add()

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

Add a relation between two instance identifiers.

Parameters
[in]domainThe domain controlling this call
[in]headThe ID for the head of the relation
[in]relationThe kind of relation
[in]tailThe ID for the tail of the relation

◆ __itt_relation_add_to_current()

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

Add a relation to the current task instance.

The current task instance is the head of the relation.

Parameters
[in]domainThe domain controlling this call
[in]relationThe kind of relation
[in]tailThe ID for the tail of the relation