3.0.2 (revision 52d3d341)
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 
389 {
393 
398 
403 };
404 
405 
407 typedef uint8_t OTF2_GroupType;
408 
415 {
419 
423 
427 
431 
453 
460 
466 };
467 
468 
470 typedef uint32_t OTF2_GroupFlag;
471 
481 {
485 
492 };
493 
494 
496 typedef uint8_t OTF2_Base;
497 
504 {
508 
512 };
513 
514 
516 typedef uint8_t OTF2_MetricOccurrence;
517 
524 {
528 
533 
538 };
539 
540 
542 typedef uint8_t OTF2_MetricType;
543 
550 {
554 
558 
562 
566 };
567 
568 
570 typedef uint8_t OTF2_MetricValueProperty;
571 
580 {
585 
589 
593 
598 };
599 
600 
602 typedef uint8_t OTF2_MetricTiming;
603 
612 {
617 
622 
627 
632 
638 };
639 
640 
642 typedef uint8_t OTF2_MetricMode;
643 
651 {
655 
659 
663 
667 
671 
675 
679 
683 
687 
691 };
692 
693 
695 typedef uint8_t OTF2_MetricScope;
696 
703 {
707 
711 
715 
719 };
720 
721 
723 typedef uint8_t OTF2_RecorderKind;
724 
731 {
735 
740 
745 
750 };
751 
752 
754 typedef uint8_t OTF2_ParameterType;
755 
762 {
766 
770 
774 };
775 
776 
778 typedef uint8_t OTF2_CartPeriodicity;
779 
786 {
790 
794 };
795 
796 
799 
806 {
810 
814 };
815 
816 
818 typedef uint8_t OTF2_IoParadigmClass;
819 
826 {
835 
843 };
844 
845 
847 typedef uint32_t OTF2_IoParadigmFlag;
848 
857 {
861 
866 };
867 
868 
870 typedef uint8_t OTF2_IoParadigmProperty;
871 
878 {
884 };
885 
886 
888 typedef uint32_t OTF2_IoHandleFlag;
889 
899 {
903 
914 
929 };
930 
931 
933 typedef uint8_t OTF2_IoAccessMode;
934 
942 {
950 
958 
966 
972 
978 };
979 
980 
982 typedef uint32_t OTF2_IoStatusFlag;
983 
994 {
998 
1008 
1017 
1024 
1030 
1038 
1045 
1051 
1057 
1066 };
1067 
1068 
1070 typedef uint32_t OTF2_CommFlag;
1071 
1081 {
1085 
1089 };
1090 
1091 
1093 typedef uint32_t OTF2_RmaWinFlag;
1094 
1103 {
1107 
1111 };
1112 
1113 
1114 #ifdef __cplusplus
1115 }
1116 #endif /* __cplusplus */
1117 
1118 
1119 #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:470
Accumulated metric, 'START' timing.
Definition: OTF2_Definitions.h:654
Metric occurs only at a region enter and leave, but does not need to occur at every enter/leave...
Definition: OTF2_Definitions.h:532
If set, the RmaWin definition does have create/destroy events.
Definition: OTF2_Definitions.h:1110
Scope of a metric is a generic group of locations.
Definition: OTF2_Definitions.h:718
uint8_t OTF2_ParameterType
Wrapper for enum OTF2_ParameterType_enum.
Definition: OTF2_Definitions.h:754
No flag is set.
Definition: OTF2_Definitions.h:1084
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:785
Each time this region is entered it will get an individual call path in the profile.
Definition: OTF2_Definitions.h:397
Cache. Can be L1i, L1d, L2, L3, ...
Definition: OTF2_Definitions.h:90
Scope of a metric is a location group.
Definition: OTF2_Definitions.h:710
uint8_t OTF2_MetricValueProperty
Wrapper for enum OTF2_MetricValueProperty_enum.
Definition: OTF2_Definitions.h:570
Enable signal-driven I/O.
Definition: OTF2_Definitions.h:1029
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:503
uint8_t OTF2_MetricMode
Wrapper for enum OTF2_MetricMode_enum.
Definition: OTF2_Definitions.h:642
OTF2_RecorderKind_enum
List of possible kinds a MetricClass can be recorded by.
Definition: OTF2_Definitions.h:730
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:597
Relative metric, 'LAST' timing.
Definition: OTF2_Definitions.h:686
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:637
Parallel.
Definition: OTF2_Definitions.h:842
Write operations on the file will complete according to the requirements of synchronized I/O data int...
Definition: OTF2_Definitions.h:1044
uint8_t OTF2_Base
Wrapper for enum OTF2_Base_enum.
Definition: OTF2_Definitions.h:496
Scope of a metric is another location.
Definition: OTF2_Definitions.h:706
OTF2_RmaWinFlag_enum
Special characteristics associated to an RmaWin definition.
Definition: OTF2_Definitions.h:1102
Metric value is valid from now until the next counter sample, i.e. the future right ahead...
Definition: OTF2_Definitions.h:631
Read-write access.
Definition: OTF2_Definitions.h:965
Relative metric, 'NEXT' timing.
Definition: OTF2_Definitions.h:690
Denotes that the interrupts generated are count based.
Definition: OTF2_Definitions.h:813
OTF2_IoStatusFlag_enum
Special characteristics associated to an IoHandle at the time the handle was created with the IoCreat...
Definition: OTF2_Definitions.h:993
uint32_t OTF2_CommFlag
Wrapper for enum OTF2_CommFlag_enum.
Definition: OTF2_Definitions.h:1070
OTF2_MetricValueProperty_enum
Information about whether the metric value is accumulated, absolute, or relative. Used for the lower ...
Definition: OTF2_Definitions.h:579
uint8_t OTF2_RecorderKind
Wrapper for enum OTF2_RecorderKind_enum.
Definition: OTF2_Definitions.h:723
"untied task" construct (structured block)
Definition: OTF2_Definitions.h:347
Parameter is of type signed 8-byte integer.
Definition: OTF2_Definitions.h:769
Metric value is related to the time interval since the last counter sample of the same metric...
Definition: OTF2_Definitions.h:626
OTF2_MetricOccurrence_enum
List of possible occurrences of a MetricClass.
Definition: OTF2_Definitions.h:523
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:426
Search only.
Definition: OTF2_Definitions.h:977
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:414
uint32_t OTF2_IoHandleFlag
Wrapper for enum OTF2_IoHandleFlag_enum.
Definition: OTF2_Definitions.h:888
Group of metrics.
Definition: OTF2_Definitions.h:430
Enable close-on-exec flag.
Definition: OTF2_Definitions.h:1007
E.g. OpenMP "single" construct.
Definition: OTF2_Definitions.h:239
Dimension is periodic.
Definition: OTF2_Definitions.h:793
E.g. OpenMP "critical" construct.
Definition: OTF2_Definitions.h:251
uint32_t OTF2_IoStatusFlag
Wrapper for enum OTF2_IoStatusFlag_enum.
Definition: OTF2_Definitions.h:982
Execute only.
Definition: OTF2_Definitions.h:971
Read-only access.
Definition: OTF2_Definitions.h:949
Absolute metric (i.e., temperature, rate, mean value, etc.).
Definition: OTF2_Definitions.h:588
Scope of a metric is a system tree node.
Definition: OTF2_Definitions.h:714
Each time this region is entered it will get an individual root node in the profile.
Definition: OTF2_Definitions.h:402
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:1088
Decimal base.
Definition: OTF2_Definitions.h:511
Version of the implementation. Optional for all I/O paradigms.
Definition: OTF2_Definitions.h:883
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:537
This I/O handle is a proxy to a group of I/O paradigm specific handles. The referenced IoFile definit...
Definition: OTF2_Definitions.h:928
OTF2_IoParadigmClass_enum
List of I/O paradigm classes.
Definition: OTF2_Definitions.h:825
Any metric of a type not explicitly listed below.
Definition: OTF2_Definitions.h:553
Write-only access.
Definition: OTF2_Definitions.h:957
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:542
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:465
No flags set.
Definition: OTF2_Definitions.h:902
Write operations on the file will complete according to the requirements of synchronized I/O file int...
Definition: OTF2_Definitions.h:1037
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:584
Absolute metric, 'LAST' timing.
Definition: OTF2_Definitions.h:674
"task" construct (creation)
Definition: OTF2_Definitions.h:287
Dimension is not periodic.
Definition: OTF2_Definitions.h:789
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:761
An arbitrary section of code.
Definition: OTF2_Definitions.h:219
uint8_t OTF2_InterruptGeneratorMode
Wrapper for enum OTF2_InterruptGeneratorMode_enum.
Definition: OTF2_Definitions.h:798
uint32_t OTF2_RmaWinFlag
Wrapper for enum OTF2_RmaWinFlag_enum.
Definition: OTF2_Definitions.h:1093
Metric value belongs to the time interval since the beginning of the measurement. ...
Definition: OTF2_Definitions.h:616
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:1023
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:516
OTF2_CommFlag_enum
Special characteristics associated to an Comm or InterComm definition.
Definition: OTF2_Definitions.h:1080
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:702
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:650
uint8_t OTF2_IoParadigmClass
Wrapper for enum OTF2_IoParadigmClass_enum.
Definition: OTF2_Definitions.h:818
Accumulated metric, 'POINT' timing.
Definition: OTF2_Definitions.h:658
OTF2_GroupFlag_enum
List of possible flags to specify special characteristics of a Group.
Definition: OTF2_Definitions.h:480
No flag is set.
Definition: OTF2_Definitions.h:997
OTF2_MetricType_enum
List of possible types of a MetricMember.
Definition: OTF2_Definitions.h:549
A CPU thread.
Definition: OTF2_Definitions.h:172
OTF2_IoParadigmFlag_enum
List of I/O paradigm flags.
Definition: OTF2_Definitions.h:856
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:611
Parameter is of type string.
Definition: OTF2_Definitions.h:765
This I/O paradigm denotes an interface to the operating system. Thus, no further I/O paradigms below ...
Definition: OTF2_Definitions.h:865
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:407
Accumulated metric, 'LAST' timing.
Definition: OTF2_Definitions.h:662
Read access to a file won't update its last access time.
Definition: OTF2_Definitions.h:1056
OTF2_IoParadigmProperty_enum
List of I/O paradigm properties.
Definition: OTF2_Definitions.h:877
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:749
A group without special characterization.
Definition: OTF2_Definitions.h:484
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:695
OTF2_IoAccessMode_enum
Determines how the resulting I/O handle can be accessed with subsequent I/O operations.
Definition: OTF2_Definitions.h:941
Delete the file when closing the IoHandle.
Definition: OTF2_Definitions.h:1065
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:805
Metric value is only valid at a point in time but not necessarily for any interval of time...
Definition: OTF2_Definitions.h:621
Parameter is of type unsigned 8-byte integer.
Definition: OTF2_Definitions.h:773
No specific kind of recorder.
Definition: OTF2_Definitions.h:734
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:418
Serial.
Definition: OTF2_Definitions.h:834
uint32_t OTF2_IoParadigmFlag
Wrapper for enum OTF2_IoParadigmFlag_enum.
Definition: OTF2_Definitions.h:847
No flag is set.
Definition: OTF2_Definitions.h:1106
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:778
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:744
Group of locations.
Definition: OTF2_Definitions.h:422
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:452
Binary base.
Definition: OTF2_Definitions.h:507
The metric class will only be recorded via a MetricInstance definitions.
Definition: OTF2_Definitions.h:739
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:682
A function which creates one thread.
Definition: OTF2_Definitions.h:335
Absolute metric, 'POINT' timing.
Definition: OTF2_Definitions.h:670
Denotes that the interrupts generated are time based.
Definition: OTF2_Definitions.h:809
A sub-group of the corresponding group definition with type OTF2_GROUP_TYPE_COMM_LOCATIONS and the sa...
Definition: OTF2_Definitions.h:459
"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:666
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:491
Absolute metric, 'NEXT' timing.
Definition: OTF2_Definitions.h:678
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:388
OTF2_IoHandleFlag_enum
List of possible flags to specify special characteristics of an IoHandle definition.
Definition: OTF2_Definitions.h:898
uint8_t OTF2_IoAccessMode
Wrapper for enum OTF2_IoAccessMode_enum.
Definition: OTF2_Definitions.h:933
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:1050
Collective N:N communication operation.
Definition: OTF2_Definitions.h:303
Relative metric.
Definition: OTF2_Definitions.h:592
This I/O handle was already created by the system. No IoCreateHandle event occurs with the handle to ...
Definition: OTF2_Definitions.h:913
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:870
E.g. OpenMP "parallel" construct (structured block)
Definition: OTF2_Definitions.h:223
Resource usage counter.
Definition: OTF2_Definitions.h:561
uint8_t OTF2_MetricTiming
Wrapper for enum OTF2_MetricTiming_enum.
Definition: OTF2_Definitions.h:602
I/O write operations are automatically performed at the end of the file.
Definition: OTF2_Definitions.h:1016
A region without special characterization.
Definition: OTF2_Definitions.h:392
No flags set.
Definition: OTF2_Definitions.h:860
PAPI counter.
Definition: OTF2_Definitions.h:557
Metric occurs at every region enter and leave.
Definition: OTF2_Definitions.h:527
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:565
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