3.1-rc3 (revision d9ca08bb)
OTF2_Definitions.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Score-P software (http://www.score-p.org)
3  *
4  * Copyright (c) 2009-2012,
5  * RWTH Aachen University, Germany
6  *
7  * Copyright (c) 2009-2012,
8  * Gesellschaft fuer numerische Simulation mbH Braunschweig, Germany
9  *
10  * Copyright (c) 2009-2012, 2021,
11  * Technische Universitaet Dresden, Germany
12  *
13  * Copyright (c) 2009-2012,
14  * University of Oregon, Eugene, USA
15  *
16  * Copyright (c) 2009-2012,
17  * Forschungszentrum Juelich GmbH, Germany
18  *
19  * Copyright (c) 2009-2012,
20  * German Research School for Simulation Sciences GmbH, Juelich/Aachen, Germany
21  *
22  * Copyright (c) 2009-2012,
23  * Technische Universitaet Muenchen, Germany
24  *
25  * This software may be modified and distributed under the terms of
26  * a BSD-style license. See the COPYING file in the package base
27  * directory for details.
28  *
29  */
30 
31 
32 #ifndef OTF2_DEFINITIONS_H
33 #define OTF2_DEFINITIONS_H
34 
35 
44 #include "otf2_compiler.h"
45 
46 
47 #include <otf2/OTF2_ErrorCodes.h>
48 
49 
51 
52 
53 #ifdef __cplusplus
54 extern "C" {
55 #endif /* __cplusplus */
56 
57 
59 typedef uint8_t OTF2_SystemTreeDomain;
60 
67 {
72 
77 
82 
87 
91 
96 
100 
106 
112 };
113 
114 
116 typedef uint8_t OTF2_LocationGroupType;
117 
124 {
128 
139 
153 };
154 
155 
157 typedef uint8_t OTF2_LocationType;
158 
165 {
169 
173 
183  OTF2_LOCATION_TYPE_GPU __otf2_deprecated__ = 2,
184 
188 };
189 
190 
192 typedef uint8_t OTF2_RegionRole;
193 
200 {
204 
208 
212 
216 
220 
224 
228 
232 
236 
240 
244 
248 
252 
256 
260 
264 
268 
272 
276 
280 
284 
288 
292 
296 
300 
304 
308 
312 
316 
320 
324 
330 
336 
342 
348 
354 
360 
367 
374 
380 };
381 
382 
384 typedef uint32_t OTF2_RegionFlag;
385 
395 {
399 
404 
409 };
410 
411 
413 typedef uint8_t OTF2_GroupType;
414 
421 {
425 
429 
433 
437 
459 
466 
472 };
473 
474 
476 typedef uint32_t OTF2_GroupFlag;
477 
487 {
491 
498 };
499 
500 
502 typedef uint8_t OTF2_Base;
503 
510 {
514 
518 };
519 
520 
522 typedef uint8_t OTF2_MetricOccurrence;
523 
530 {
534 
539 
544 };
545 
546 
548 typedef uint8_t OTF2_MetricType;
549 
556 {
560 
564 
568 
572 };
573 
574 
576 typedef uint8_t OTF2_MetricValueProperty;
577 
586 {
591 
595 
599 
604 };
605 
606 
608 typedef uint8_t OTF2_MetricTiming;
609 
618 {
623 
628 
633 
638 
644 };
645 
646 
648 typedef uint8_t OTF2_MetricMode;
649 
657 {
661 
665 
669 
673 
677 
681 
685 
689 
693 
697 };
698 
699 
701 typedef uint8_t OTF2_MetricScope;
702 
709 {
713 
717 
721 
725 };
726 
727 
729 typedef uint8_t OTF2_RecorderKind;
730 
737 {
741 
746 
751 
756 };
757 
758 
760 typedef uint8_t OTF2_ParameterType;
761 
768 {
772 
776 
780 };
781 
782 
784 typedef uint8_t OTF2_CartPeriodicity;
785 
792 {
796 
800 };
801 
802 
805 
812 {
816 
820 };
821 
822 
824 typedef uint8_t OTF2_IoParadigmClass;
825 
832 {
841 
849 };
850 
851 
853 typedef uint32_t OTF2_IoParadigmFlag;
854 
863 {
867 
872 };
873 
874 
876 typedef uint8_t OTF2_IoParadigmProperty;
877 
884 {
890 };
891 
892 
894 typedef uint32_t OTF2_IoHandleFlag;
895 
905 {
909 
920 
935 };
936 
937 
939 typedef uint8_t OTF2_IoAccessMode;
940 
948 {
956 
964 
972 
978 
984 };
985 
986 
988 typedef uint32_t OTF2_IoStatusFlag;
989 
1000 {
1004 
1014 
1023 
1030 
1036 
1044 
1051 
1057 
1063 
1072 };
1073 
1074 
1076 typedef uint32_t OTF2_CommFlag;
1077 
1087 {
1091 
1095 };
1096 
1097 
1099 typedef uint32_t OTF2_RmaWinFlag;
1100 
1109 {
1113 
1117 };
1118 
1119 
1120 #ifdef __cplusplus
1121 }
1122 #endif /* __cplusplus */
1123 
1124 
1125 #endif /* OTF2_DEFINITIONS_H */
Collective 1:N communication operation.
Definition: OTF2_Definitions.h:295
uint32_t OTF2_GroupFlag
Wrapper for enum OTF2_GroupFlag_enum.
Definition: OTF2_Definitions.h:476
Accumulated metric, 'START' timing.
Definition: OTF2_Definitions.h:660
Metric occurs only at a region enter and leave, but does not need to occur at every enter/leave...
Definition: OTF2_Definitions.h:538
If set, the RmaWin definition does have create/destroy events.
Definition: OTF2_Definitions.h:1116
Scope of a metric is a generic group of locations.
Definition: OTF2_Definitions.h:724
uint8_t OTF2_ParameterType
Wrapper for enum OTF2_ParameterType_enum.
Definition: OTF2_Definitions.h:760
No flag is set.
Definition: OTF2_Definitions.h:1090
Explicit barrier.
Definition: OTF2_Definitions.h:263
E.g. OpenMP "flush" construct.
Definition: OTF2_Definitions.h:271
OTF2_CartPeriodicity_enum
Periodicity types of a CartDimension.
Definition: OTF2_Definitions.h:791
Each time this region is entered it will get an individual call path in the profile.
Definition: OTF2_Definitions.h:403
Cache. Can be L1i, L1d, L2, L3, ...
Definition: OTF2_Definitions.h:90
Scope of a metric is a location group.
Definition: OTF2_Definitions.h:716
uint8_t OTF2_MetricValueProperty
Wrapper for enum OTF2_MetricValueProperty_enum.
Definition: OTF2_Definitions.h:576
Enable signal-driven I/O.
Definition: OTF2_Definitions.h:1035
A function which waits for the completion of one thread.
Definition: OTF2_Definitions.h:341
OTF2_Base_enum
MetricMember base types.
Definition: OTF2_Definitions.h:509
uint8_t OTF2_MetricMode
Wrapper for enum OTF2_MetricMode_enum.
Definition: OTF2_Definitions.h:648
OTF2_RecorderKind_enum
List of possible kinds a MetricClass can be recorded by.
Definition: OTF2_Definitions.h:736
E.g. OpenMP "ordered" construct (structured block)
Definition: OTF2_Definitions.h:279
This mask can be used to get lower half-byte in OTF2_MetricMode that is used to indicate metric value...
Definition: OTF2_Definitions.h:603
Relative metric, 'LAST' timing.
Definition: OTF2_Definitions.h:692
This mask can be used to get the upper half-byte in OTF2_MetricMode that is used to indicate metric t...
Definition: OTF2_Definitions.h:643
Parallel.
Definition: OTF2_Definitions.h:848
Write operations on the file will complete according to the requirements of synchronized I/O data int...
Definition: OTF2_Definitions.h:1050
uint8_t OTF2_Base
Wrapper for enum OTF2_Base_enum.
Definition: OTF2_Definitions.h:502
Scope of a metric is another location.
Definition: OTF2_Definitions.h:712
OTF2_RmaWinFlag_enum
Special characteristics associated to an RmaWin definition.
Definition: OTF2_Definitions.h:1108
Metric value is valid from now until the next counter sample, i.e. the future right ahead...
Definition: OTF2_Definitions.h:637
Read-write access.
Definition: OTF2_Definitions.h:971
Relative metric, 'NEXT' timing.
Definition: OTF2_Definitions.h:696
Denotes that the interrupts generated are count based.
Definition: OTF2_Definitions.h:819
OTF2_IoStatusFlag_enum
Special characteristics associated to an IoHandle at the time the handle was created with the IoCreat...
Definition: OTF2_Definitions.h:999
uint32_t OTF2_CommFlag
Wrapper for enum OTF2_CommFlag_enum.
Definition: OTF2_Definitions.h:1076
OTF2_MetricValueProperty_enum
Information about whether the metric value is accumulated, absolute, or relative. Used for the lower ...
Definition: OTF2_Definitions.h:585
uint8_t OTF2_RecorderKind
Wrapper for enum OTF2_RecorderKind_enum.
Definition: OTF2_Definitions.h:729
"untied task" construct (structured block)
Definition: OTF2_Definitions.h:347
Parameter is of type signed 8-byte integer.
Definition: OTF2_Definitions.h:775
Metric value is related to the time interval since the last counter sample of the same metric...
Definition: OTF2_Definitions.h:632
OTF2_MetricOccurrence_enum
List of possible occurrences of a MetricClass.
Definition: OTF2_Definitions.h:529
Collective N:1 communication operation.
Definition: OTF2_Definitions.h:299
A group of accelerator locations which executed on the same device and have the same controlling loca...
Definition: OTF2_Definitions.h:152
uint8_t OTF2_RegionRole
Wrapper for enum OTF2_RegionRole_enum.
Definition: OTF2_Definitions.h:192
Group of regions.
Definition: OTF2_Definitions.h:432
Search only.
Definition: OTF2_Definitions.h:983
An entire function/subroutine.
Definition: OTF2_Definitions.h:207
Individual "section" inside an OpenMP "sections" construct.
Definition: OTF2_Definitions.h:231
A function which deallocates memory.
Definition: OTF2_Definitions.h:359
OTF2_GroupType_enum
List of possible types of a Group.
Definition: OTF2_Definitions.h:420
uint32_t OTF2_IoHandleFlag
Wrapper for enum OTF2_IoHandleFlag_enum.
Definition: OTF2_Definitions.h:894
Group of metrics.
Definition: OTF2_Definitions.h:436
Enable close-on-exec flag.
Definition: OTF2_Definitions.h:1013
E.g. OpenMP "single" construct.
Definition: OTF2_Definitions.h:239
Dimension is periodic.
Definition: OTF2_Definitions.h:799
E.g. OpenMP "critical" construct.
Definition: OTF2_Definitions.h:251
uint32_t OTF2_IoStatusFlag
Wrapper for enum OTF2_IoStatusFlag_enum.
Definition: OTF2_Definitions.h:988
Execute only.
Definition: OTF2_Definitions.h:977
Read-only access.
Definition: OTF2_Definitions.h:955
Absolute metric (i.e., temperature, rate, mean value, etc.).
Definition: OTF2_Definitions.h:594
Scope of a metric is a system tree node.
Definition: OTF2_Definitions.h:720
Each time this region is entered it will get an individual root node in the profile.
Definition: OTF2_Definitions.h:408
This header file provides general definitions which should be accessible in all internal and external...
All nodes below a node with this attribute encompass a tightly coupled HPC system.
Definition: OTF2_Definitions.h:71
A location group of unknown type.
Definition: OTF2_Definitions.h:127
A device capable of doing computational work.
Definition: OTF2_Definitions.h:105
If set, the corresponding definition does have create/destroy events.
Definition: OTF2_Definitions.h:1094
Decimal base.
Definition: OTF2_Definitions.h:517
Version of the implementation. Optional for all I/O paradigms.
Definition: OTF2_Definitions.h:889
A function which changes a previous memory allocation to either increase or decrease the amount...
Definition: OTF2_Definitions.h:366
Metric can occur at any place i.e. it is not related to region enter and leaves.
Definition: OTF2_Definitions.h:543
This I/O handle is a proxy to a group of I/O paradigm specific handles. The referenced IoFile definit...
Definition: OTF2_Definitions.h:934
OTF2_IoParadigmClass_enum
List of I/O paradigm classes.
Definition: OTF2_Definitions.h:831
Any metric of a type not explicitly listed below.
Definition: OTF2_Definitions.h:559
Write-only access.
Definition: OTF2_Definitions.h:963
A remote memory access communication operation.
Definition: OTF2_Definitions.h:319
uint8_t OTF2_MetricType
Wrapper for enum OTF2_MetricType_enum.
Definition: OTF2_Definitions.h:548
A region of unknown role.
Definition: OTF2_Definitions.h:203
E.g. OpenMP "single" construct (structured block)
Definition: OTF2_Definitions.h:243
Special group type to efficiently handle self-like communicators (i.e., MPI_COMM_SELF and friends)...
Definition: OTF2_Definitions.h:471
No flags set.
Definition: OTF2_Definitions.h:908
Write operations on the file will complete according to the requirements of synchronized I/O file int...
Definition: OTF2_Definitions.h:1043
OTF2_LocationType_enum
List of possible definitions of type Location.
Definition: OTF2_Definitions.h:164
A data transfer operation in memory.
Definition: OTF2_Definitions.h:323
Accumulated metric is monotonously increasing (i.e., PAPI counter for number of executed floating poi...
Definition: OTF2_Definitions.h:590
E.g. OpenMP "cancel" construct.
Definition: OTF2_Definitions.h:379
Absolute metric, 'LAST' timing.
Definition: OTF2_Definitions.h:680
"task" construct (creation)
Definition: OTF2_Definitions.h:287
Dimension is not periodic.
Definition: OTF2_Definitions.h:795
E.g. OpenMP "critical" construct (structured block)
Definition: OTF2_Definitions.h:255
E.g. OpenMP "master" construct.
Definition: OTF2_Definitions.h:247
A numa domain. A set of processors around memory which the processors can directly access...
Definition: OTF2_Definitions.h:81
OTF2_ParameterType_enum
List of possible for definitions of type Parameter.
Definition: OTF2_Definitions.h:767
An arbitrary section of code.
Definition: OTF2_Definitions.h:219
uint8_t OTF2_InterruptGeneratorMode
Wrapper for enum OTF2_InterruptGeneratorMode_enum.
Definition: OTF2_Definitions.h:804
uint32_t OTF2_RmaWinFlag
Wrapper for enum OTF2_RmaWinFlag_enum.
Definition: OTF2_Definitions.h:1099
Metric value belongs to the time interval since the beginning of the measurement. ...
Definition: OTF2_Definitions.h:622
A location of unknown type.
Definition: OTF2_Definitions.h:168
I/O operations (including the creation) will fail if they would block the issuing process...
Definition: OTF2_Definitions.h:1029
Core. A computation unit (may be shared by several logical processors).
Definition: OTF2_Definitions.h:95
uint8_t OTF2_LocationType
Wrapper for enum OTF2_LocationType_enum.
Definition: OTF2_Definitions.h:157
uint8_t OTF2_MetricOccurrence
Wrapper for enum OTF2_MetricOccurrence_enum.
Definition: OTF2_Definitions.h:522
OTF2_CommFlag_enum
Special characteristics associated to an Comm or InterComm definition.
Definition: OTF2_Definitions.h:1086
uint8_t OTF2_LocationGroupType
Wrapper for enum OTF2_LocationGroupType_enum.
Definition: OTF2_Definitions.h:116
E.g. OpenMP "ordered" construct.
Definition: OTF2_Definitions.h:275
OTF2_MetricScope_enum
List of possible scopes of a MetricInstance.
Definition: OTF2_Definitions.h:708
A point-to-point communication function.
Definition: OTF2_Definitions.h:315
OTF2_MetricMode_enum
The OTF2_MetricMode is a combination of OTF2_MetricValueProperty and OTF2_MetricTiming.
Definition: OTF2_Definitions.h:656
uint8_t OTF2_IoParadigmClass
Wrapper for enum OTF2_IoParadigmClass_enum.
Definition: OTF2_Definitions.h:824
Accumulated metric, 'POINT' timing.
Definition: OTF2_Definitions.h:664
OTF2_GroupFlag_enum
List of possible flags to specify special characteristics of a Group.
Definition: OTF2_Definitions.h:486
No flag is set.
Definition: OTF2_Definitions.h:1003
OTF2_MetricType_enum
List of possible types of a MetricMember.
Definition: OTF2_Definitions.h:555
A CPU thread.
Definition: OTF2_Definitions.h:172
OTF2_IoParadigmFlag_enum
List of I/O paradigm flags.
Definition: OTF2_Definitions.h:862
Collective M:N communication operation.
Definition: OTF2_Definitions.h:307
OTF2_MetricTiming_enum
Determines when the values have been collected or for which interval of time they are valid...
Definition: OTF2_Definitions.h:617
Parameter is of type string.
Definition: OTF2_Definitions.h:771
This I/O paradigm denotes an interface to the operating system. Thus, no further I/O paradigms below ...
Definition: OTF2_Definitions.h:871
A metadata-only file I/O operation (e.g., IoSeek, IoChangeStatusFlags event).
Definition: OTF2_Definitions.h:373
uint8_t OTF2_GroupType
Wrapper for enum OTF2_GroupType_enum.
Definition: OTF2_Definitions.h:413
Accumulated metric, 'LAST' timing.
Definition: OTF2_Definitions.h:668
Read access to a file won't update its last access time.
Definition: OTF2_Definitions.h:1062
OTF2_IoParadigmProperty_enum
List of I/O paradigm properties.
Definition: OTF2_Definitions.h:883
A metric only location e.g. an external device.
Definition: OTF2_Definitions.h:187
Socket, physical package, or chip. In the physical meaning, i.e. that you can add or remove physicall...
Definition: OTF2_Definitions.h:86
This metric class will only be recorded by locations of type OTF2_LOCATION_TYPE_GPU.
Definition: OTF2_Definitions.h:755
A group without special characterization.
Definition: OTF2_Definitions.h:490
E.g. OpenMP "workshare" construct.
Definition: OTF2_Definitions.h:235
Compiler feature test macros.
"task" construct (structured block)
Definition: OTF2_Definitions.h:283
uint8_t OTF2_MetricScope
Wrapper for enum OTF2_MetricScope_enum.
Definition: OTF2_Definitions.h:701
OTF2_IoAccessMode_enum
Determines how the resulting I/O handle can be accessed with subsequent I/O operations.
Definition: OTF2_Definitions.h:947
Delete the file when closing the IoHandle.
Definition: OTF2_Definitions.h:1071
A device capable of doing communication across a network.
Definition: OTF2_Definitions.h:111
OTF2_InterruptGeneratorMode_enum
List of possible modes of an InterruptGenerator.
Definition: OTF2_Definitions.h:811
Metric value is only valid at a point in time but not necessarily for any interval of time...
Definition: OTF2_Definitions.h:627
Parameter is of type unsigned 8-byte integer.
Definition: OTF2_Definitions.h:779
No specific kind of recorder.
Definition: OTF2_Definitions.h:740
Processing Unit (A non-shared ALU, FPU, ...)
Definition: OTF2_Definitions.h:99
An API function wrapped by Score-P.
Definition: OTF2_Definitions.h:211
A GPU location. Alias for, and superseded by, OTF2_LOCATION_TYPE_ACCELERATOR_STREAM.
Definition: OTF2_Definitions.h:183
Group of unknown type.
Definition: OTF2_Definitions.h:424
Serial.
Definition: OTF2_Definitions.h:840
uint32_t OTF2_IoParadigmFlag
Wrapper for enum OTF2_IoParadigmFlag_enum.
Definition: OTF2_Definitions.h:853
No flag is set.
Definition: OTF2_Definitions.h:1112
All nodes below a node with this attribute encompass a system where processes can communicate via har...
Definition: OTF2_Definitions.h:76
uint8_t OTF2_CartPeriodicity
Wrapper for enum OTF2_CartPeriodicity_enum.
Definition: OTF2_Definitions.h:784
A loop in the code.
Definition: OTF2_Definitions.h:215
An artificial region, mostly used by the monitor software.
Definition: OTF2_Definitions.h:329
This metric class will only be recorded by locations of type OTF2_LOCATION_TYPE_CPU_THREAD.
Definition: OTF2_Definitions.h:750
Group of locations.
Definition: OTF2_Definitions.h:428
An activity queue on an accelerator device. The previous entry OTF2_LOCATION_TYPE_GPU is still availa...
Definition: OTF2_Definitions.h:177
List of locations which participated in the paradigm specified by the group definition.
Definition: OTF2_Definitions.h:458
Binary base.
Definition: OTF2_Definitions.h:513
The metric class will only be recorded via a MetricInstance definitions.
Definition: OTF2_Definitions.h:745
Implicit barrier.
Definition: OTF2_Definitions.h:267
E.g. OpenMP "atomic" construct.
Definition: OTF2_Definitions.h:259
uint32_t OTF2_RegionFlag
Wrapper for enum OTF2_RegionFlag_enum.
Definition: OTF2_Definitions.h:384
Relative metric, 'POINT' timing.
Definition: OTF2_Definitions.h:688
A function which creates one thread.
Definition: OTF2_Definitions.h:335
Absolute metric, 'POINT' timing.
Definition: OTF2_Definitions.h:676
Denotes that the interrupts generated are time based.
Definition: OTF2_Definitions.h:815
A sub-group of the corresponding group definition with type OTF2_GROUP_TYPE_COMM_LOCATIONS and the sa...
Definition: OTF2_Definitions.h:465
"taskwait" construct
Definition: OTF2_Definitions.h:291
OTF2_LocationGroupType_enum
List of possible definitions of type LocationGroup.
Definition: OTF2_Definitions.h:123
Accumulated metric, 'NEXT' timing.
Definition: OTF2_Definitions.h:672
No translation of ranks in event records needs to be done when a group of type OTF2_GROUP_TYPE_COMM_G...
Definition: OTF2_Definitions.h:497
Absolute metric, 'NEXT' timing.
Definition: OTF2_Definitions.h:684
OTF2_RegionRole_enum
List of possible roles of a Region.
Definition: OTF2_Definitions.h:199
OTF2_RegionFlag_enum
List of possible flags to specify special characteristics of a Region.
Definition: OTF2_Definitions.h:394
OTF2_IoHandleFlag_enum
List of possible flags to specify special characteristics of an IoHandle definition.
Definition: OTF2_Definitions.h:904
uint8_t OTF2_IoAccessMode
Wrapper for enum OTF2_IoAccessMode_enum.
Definition: OTF2_Definitions.h:939
OTF2_SystemTreeDomain_enum
List of available system tree node domains.
Definition: OTF2_Definitions.h:66
Instruct I/O operations to reduce caching effects.
Definition: OTF2_Definitions.h:1056
Collective N:N communication operation.
Definition: OTF2_Definitions.h:303
Relative metric.
Definition: OTF2_Definitions.h:598
This I/O handle was already created by the system. No IoCreateHandle event occurs with the handle to ...
Definition: OTF2_Definitions.h:919
Error codes and error handling.
E.g. OpenMP "sections" construct.
Definition: OTF2_Definitions.h:227
A data file I/O operation.
Definition: OTF2_Definitions.h:311
uint8_t OTF2_IoParadigmProperty
Wrapper for enum OTF2_IoParadigmProperty_enum.
Definition: OTF2_Definitions.h:876
E.g. OpenMP "parallel" construct (structured block)
Definition: OTF2_Definitions.h:223
Resource usage counter.
Definition: OTF2_Definitions.h:567
uint8_t OTF2_MetricTiming
Wrapper for enum OTF2_MetricTiming_enum.
Definition: OTF2_Definitions.h:608
I/O write operations are automatically performed at the end of the file.
Definition: OTF2_Definitions.h:1022
A region without special characterization.
Definition: OTF2_Definitions.h:398
No flags set.
Definition: OTF2_Definitions.h:866
PAPI counter.
Definition: OTF2_Definitions.h:563
Metric occurs at every region enter and leave.
Definition: OTF2_Definitions.h:533
A process. Must contain at least one location of type OTF2_LOCATION_TYPE_CPU_THREAD, any number of locations of type OTF2_LOCATION_TYPE_METRIC, and no locations of type OTF2_LOCATION_TYPE_ACCELERATOR_STREAM. The creatingLocationGroup attribute of the location group may reference a location group of type OTF2_LOCATION_GROUP_TYPE_PROCESS or OTF2_UNDEFINED_LOCATION_GROUP.
Definition: OTF2_Definitions.h:138
User metrics.
Definition: OTF2_Definitions.h:571
uint8_t OTF2_SystemTreeDomain
Wrapper for enum OTF2_SystemTreeDomain_enum.
Definition: OTF2_Definitions.h:59
A function which allocates memory.
Definition: OTF2_Definitions.h:353