3.0-rc2 (revision 337012f1)
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 };
375 
376 
378 typedef uint32_t OTF2_RegionFlag;
379 
387 {
391 
396 
401 };
402 
403 
405 typedef uint8_t OTF2_GroupType;
406 
413 {
417 
421 
425 
429 
451 
458 
464 };
465 
466 
468 typedef uint32_t OTF2_GroupFlag;
469 
477 {
481 
488 };
489 
490 
492 typedef uint8_t OTF2_Base;
493 
500 {
504 
508 };
509 
510 
512 typedef uint8_t OTF2_MetricOccurrence;
513 
520 {
524 
529 
534 };
535 
536 
538 typedef uint8_t OTF2_MetricType;
539 
546 {
550 
554 
558 
562 };
563 
564 
566 typedef uint8_t OTF2_MetricValueProperty;
567 
576 {
581 
585 
589 
594 };
595 
596 
598 typedef uint8_t OTF2_MetricTiming;
599 
608 {
613 
618 
623 
628 
634 };
635 
636 
638 typedef uint8_t OTF2_MetricMode;
639 
647 {
651 
655 
659 
663 
667 
671 
675 
679 
683 
687 };
688 
689 
691 typedef uint8_t OTF2_MetricScope;
692 
699 {
703 
707 
711 
715 };
716 
717 
719 typedef uint8_t OTF2_RecorderKind;
720 
727 {
731 
736 
741 
746 };
747 
748 
750 typedef uint8_t OTF2_ParameterType;
751 
758 {
762 
766 
770 };
771 
772 
774 typedef uint8_t OTF2_CartPeriodicity;
775 
782 {
786 
790 };
791 
792 
795 
802 {
806 
810 };
811 
812 
814 typedef uint8_t OTF2_IoParadigmClass;
815 
822 {
831 
839 };
840 
841 
843 typedef uint32_t OTF2_IoParadigmFlag;
844 
851 {
855 
860 };
861 
862 
864 typedef uint8_t OTF2_IoParadigmProperty;
865 
872 {
878 };
879 
880 
882 typedef uint32_t OTF2_IoHandleFlag;
883 
891 {
895 
906 
921 };
922 
923 
925 typedef uint8_t OTF2_IoAccessMode;
926 
934 {
942 
950 
958 
964 
970 };
971 
972 
974 typedef uint32_t OTF2_IoStatusFlag;
975 
984 {
988 
998 
1007 
1014 
1020 
1028 
1035 
1041 
1047 
1056 };
1057 
1058 
1060 typedef uint32_t OTF2_CommFlag;
1061 
1069 {
1073 
1077 };
1078 
1079 
1081 typedef uint32_t OTF2_RmaWinFlag;
1082 
1089 {
1093 
1097 };
1098 
1099 
1100 #ifdef __cplusplus
1101 }
1102 #endif /* __cplusplus */
1103 
1104 
1105 #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:468
Accumulated metric, 'START' timing.
Definition: OTF2_Definitions.h:650
Metric occurs only at a region enter and leave, but does not need to occur at every enter/leave...
Definition: OTF2_Definitions.h:528
If set, the RmaWin definition does have create/destroy events.
Definition: OTF2_Definitions.h:1096
Scope of a metric is a generic group of locations.
Definition: OTF2_Definitions.h:714
uint8_t OTF2_ParameterType
Wrapper for enum OTF2_ParameterType_enum.
Definition: OTF2_Definitions.h:750
No flag is set.
Definition: OTF2_Definitions.h:1072
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:781
Each time this region is entered it will get an individual call path in the profile.
Definition: OTF2_Definitions.h:395
Cache. Can be L1i, L1d, L2, L3, ...
Definition: OTF2_Definitions.h:90
Scope of a metric is a location group.
Definition: OTF2_Definitions.h:706
uint8_t OTF2_MetricValueProperty
Wrapper for enum OTF2_MetricValueProperty_enum.
Definition: OTF2_Definitions.h:566
Enable signal-driven I/O.
Definition: OTF2_Definitions.h:1019
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:499
uint8_t OTF2_MetricMode
Wrapper for enum OTF2_MetricMode_enum.
Definition: OTF2_Definitions.h:638
OTF2_RecorderKind_enum
List of possible kinds a MetricClass can be recorded by.
Definition: OTF2_Definitions.h:726
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:593
Relative metric, 'LAST' timing.
Definition: OTF2_Definitions.h:682
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:633
Parallel.
Definition: OTF2_Definitions.h:838
Write operations on the file will complete according to the requirements of synchronized I/O data int...
Definition: OTF2_Definitions.h:1034
uint8_t OTF2_Base
Wrapper for enum OTF2_Base_enum.
Definition: OTF2_Definitions.h:492
Scope of a metric is another location.
Definition: OTF2_Definitions.h:702
OTF2_RmaWinFlag_enum
Special characteristics associated to an RmaWin definition.
Definition: OTF2_Definitions.h:1088
Metric value is valid from now until the next counter sample, i.e. the future right ahead...
Definition: OTF2_Definitions.h:627
Read-write access.
Definition: OTF2_Definitions.h:957
Relative metric, 'NEXT' timing.
Definition: OTF2_Definitions.h:686
Denotes that the interrupts generated are count based.
Definition: OTF2_Definitions.h:809
OTF2_IoStatusFlag_enum
Special characteristics associated to an IoHandle at the time the handle was created with the IoCreat...
Definition: OTF2_Definitions.h:983
uint32_t OTF2_CommFlag
Wrapper for enum OTF2_CommFlag_enum.
Definition: OTF2_Definitions.h:1060
OTF2_MetricValueProperty_enum
Information about whether the metric value is accumulated, absolute, or relative. Used for the lower ...
Definition: OTF2_Definitions.h:575
uint8_t OTF2_RecorderKind
Wrapper for enum OTF2_RecorderKind_enum.
Definition: OTF2_Definitions.h:719
"untied task" construct (structured block)
Definition: OTF2_Definitions.h:347
Parameter is of type signed 8-byte integer.
Definition: OTF2_Definitions.h:765
Metric value is related to the time interval since the last counter sample of the same metric...
Definition: OTF2_Definitions.h:622
OTF2_MetricOccurrence_enum
List of possible occurrences of a MetricClass.
Definition: OTF2_Definitions.h:519
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:424
Search only.
Definition: OTF2_Definitions.h:969
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:412
uint32_t OTF2_IoHandleFlag
Wrapper for enum OTF2_IoHandleFlag_enum.
Definition: OTF2_Definitions.h:882
Group of metrics.
Definition: OTF2_Definitions.h:428
Enable close-on-exec flag.
Definition: OTF2_Definitions.h:997
E.g. OpenMP "single" construct.
Definition: OTF2_Definitions.h:239
Dimension is periodic.
Definition: OTF2_Definitions.h:789
E.g. OpenMP "critical" construct.
Definition: OTF2_Definitions.h:251
uint32_t OTF2_IoStatusFlag
Wrapper for enum OTF2_IoStatusFlag_enum.
Definition: OTF2_Definitions.h:974
Execute only.
Definition: OTF2_Definitions.h:963
Read-only access.
Definition: OTF2_Definitions.h:941
Absolute metric (i.e., temperature, rate, mean value, etc.).
Definition: OTF2_Definitions.h:584
Scope of a metric is a system tree node.
Definition: OTF2_Definitions.h:710
Each time this region is entered it will get an individual root node in the profile.
Definition: OTF2_Definitions.h:400
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:1076
Decimal base.
Definition: OTF2_Definitions.h:507
Version of the implementation. Optional for all I/O paradigms.
Definition: OTF2_Definitions.h:877
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:533
This I/O handle is a proxy to a group of I/O paradigm specific handles. The referenced IoFile definit...
Definition: OTF2_Definitions.h:920
OTF2_IoParadigmClass_enum
List of I/O paradigm classes.
Definition: OTF2_Definitions.h:821
Any metric of a type not explicitly listed below.
Definition: OTF2_Definitions.h:549
Write-only access.
Definition: OTF2_Definitions.h:949
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:538
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:463
No flags set.
Definition: OTF2_Definitions.h:894
Write operations on the file will complete according to the requirements of synchronized I/O file int...
Definition: OTF2_Definitions.h:1027
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:580
Absolute metric, 'LAST' timing.
Definition: OTF2_Definitions.h:670
"task" construct (creation)
Definition: OTF2_Definitions.h:287
Dimension is not periodic.
Definition: OTF2_Definitions.h:785
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:757
An arbitrary section of code.
Definition: OTF2_Definitions.h:219
uint8_t OTF2_InterruptGeneratorMode
Wrapper for enum OTF2_InterruptGeneratorMode_enum.
Definition: OTF2_Definitions.h:794
uint32_t OTF2_RmaWinFlag
Wrapper for enum OTF2_RmaWinFlag_enum.
Definition: OTF2_Definitions.h:1081
Metric value belongs to the time interval since the beginning of the measurement. ...
Definition: OTF2_Definitions.h:612
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:1013
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:512
OTF2_CommFlag_enum
Special characteristics associated to an Comm or InterComm definition.
Definition: OTF2_Definitions.h:1068
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:698
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:646
uint8_t OTF2_IoParadigmClass
Wrapper for enum OTF2_IoParadigmClass_enum.
Definition: OTF2_Definitions.h:814
Accumulated metric, 'POINT' timing.
Definition: OTF2_Definitions.h:654
OTF2_GroupFlag_enum
List of possible flags to specify special characteristics of a Group.
Definition: OTF2_Definitions.h:476
No flag is set.
Definition: OTF2_Definitions.h:987
OTF2_MetricType_enum
List of possible types of a MetricMember.
Definition: OTF2_Definitions.h:545
A CPU thread.
Definition: OTF2_Definitions.h:172
OTF2_IoParadigmFlag_enum
List of I/O paradigm flags.
Definition: OTF2_Definitions.h:850
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:607
Parameter is of type string.
Definition: OTF2_Definitions.h:761
This I/O paradigm denotes an interface to the operating system. Thus, no further I/O paradigms below ...
Definition: OTF2_Definitions.h:859
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:405
Accumulated metric, 'LAST' timing.
Definition: OTF2_Definitions.h:658
Read access to a file won't update its last access time.
Definition: OTF2_Definitions.h:1046
OTF2_IoParadigmProperty_enum
List of I/O paradigm properties.
Definition: OTF2_Definitions.h:871
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:745
A group without special characterization.
Definition: OTF2_Definitions.h:480
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:691
OTF2_IoAccessMode_enum
Determines how the resulting I/O handle can be accessed with subsequent I/O operations.
Definition: OTF2_Definitions.h:933
Delete the file when closing the IoHandle.
Definition: OTF2_Definitions.h:1055
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:801
Metric value is only valid at a point in time but not necessarily for any interval of time...
Definition: OTF2_Definitions.h:617
Parameter is of type unsigned 8-byte integer.
Definition: OTF2_Definitions.h:769
No specific kind of recorder.
Definition: OTF2_Definitions.h:730
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:416
Serial.
Definition: OTF2_Definitions.h:830
uint32_t OTF2_IoParadigmFlag
Wrapper for enum OTF2_IoParadigmFlag_enum.
Definition: OTF2_Definitions.h:843
No flag is set.
Definition: OTF2_Definitions.h:1092
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:774
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:740
Group of locations.
Definition: OTF2_Definitions.h:420
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:450
Binary base.
Definition: OTF2_Definitions.h:503
The metric class will only be recorded via a MetricInstance definitions.
Definition: OTF2_Definitions.h:735
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:378
Relative metric, 'POINT' timing.
Definition: OTF2_Definitions.h:678
A function which creates one thread.
Definition: OTF2_Definitions.h:335
Absolute metric, 'POINT' timing.
Definition: OTF2_Definitions.h:666
Denotes that the interrupts generated are time based.
Definition: OTF2_Definitions.h:805
A sub-group of the corresponding group definition with type OTF2_GROUP_TYPE_COMM_LOCATIONS and the sa...
Definition: OTF2_Definitions.h:457
"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:662
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:487
Absolute metric, 'NEXT' timing.
Definition: OTF2_Definitions.h:674
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:386
OTF2_IoHandleFlag_enum
List of possible flags to specify special characteristics of an IoHandle definition.
Definition: OTF2_Definitions.h:890
uint8_t OTF2_IoAccessMode
Wrapper for enum OTF2_IoAccessMode_enum.
Definition: OTF2_Definitions.h:925
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:1040
Collective N:N communication operation.
Definition: OTF2_Definitions.h:303
Relative metric.
Definition: OTF2_Definitions.h:588
This I/O handle was already created by the system. No IoCreateHandle event occurs with the handle to ...
Definition: OTF2_Definitions.h:905
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:864
E.g. OpenMP "parallel" construct (structured block)
Definition: OTF2_Definitions.h:223
Resource usage counter.
Definition: OTF2_Definitions.h:557
uint8_t OTF2_MetricTiming
Wrapper for enum OTF2_MetricTiming_enum.
Definition: OTF2_Definitions.h:598
I/O write operations are automatically performed at the end of the file.
Definition: OTF2_Definitions.h:1006
A region without special characterization.
Definition: OTF2_Definitions.h:390
No flags set.
Definition: OTF2_Definitions.h:854
PAPI counter.
Definition: OTF2_Definitions.h:553
Metric occurs at every region enter and leave.
Definition: OTF2_Definitions.h:523
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:561
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