3.0-rc2 (revision 337012f1)
Typedefs | Enumerations
OTF2_Definitions.h File Reference

Data types used in the definition records. More...

#include "otf2_compiler.h"
#include <otf2/OTF2_ErrorCodes.h>
#include <otf2/OTF2_GeneralDefinitions.h>

Go to the source code of this file.

Typedefs

typedef uint8_t OTF2_SystemTreeDomain
 Wrapper for enum OTF2_SystemTreeDomain_enum.
 
typedef uint8_t OTF2_LocationGroupType
 Wrapper for enum OTF2_LocationGroupType_enum.
 
typedef uint8_t OTF2_LocationType
 Wrapper for enum OTF2_LocationType_enum.
 
typedef uint8_t OTF2_RegionRole
 Wrapper for enum OTF2_RegionRole_enum.
 
typedef uint32_t OTF2_RegionFlag
 Wrapper for enum OTF2_RegionFlag_enum.
 
typedef uint8_t OTF2_GroupType
 Wrapper for enum OTF2_GroupType_enum.
 
typedef uint32_t OTF2_GroupFlag
 Wrapper for enum OTF2_GroupFlag_enum.
 
typedef uint8_t OTF2_Base
 Wrapper for enum OTF2_Base_enum.
 
typedef uint8_t OTF2_MetricOccurrence
 Wrapper for enum OTF2_MetricOccurrence_enum.
 
typedef uint8_t OTF2_MetricType
 Wrapper for enum OTF2_MetricType_enum.
 
typedef uint8_t OTF2_MetricValueProperty
 Wrapper for enum OTF2_MetricValueProperty_enum.
 
typedef uint8_t OTF2_MetricTiming
 Wrapper for enum OTF2_MetricTiming_enum.
 
typedef uint8_t OTF2_MetricMode
 Wrapper for enum OTF2_MetricMode_enum.
 
typedef uint8_t OTF2_MetricScope
 Wrapper for enum OTF2_MetricScope_enum.
 
typedef uint8_t OTF2_RecorderKind
 Wrapper for enum OTF2_RecorderKind_enum.
 
typedef uint8_t OTF2_ParameterType
 Wrapper for enum OTF2_ParameterType_enum.
 
typedef uint8_t OTF2_CartPeriodicity
 Wrapper for enum OTF2_CartPeriodicity_enum.
 
typedef uint8_t OTF2_InterruptGeneratorMode
 Wrapper for enum OTF2_InterruptGeneratorMode_enum.
 
typedef uint8_t OTF2_IoParadigmClass
 Wrapper for enum OTF2_IoParadigmClass_enum.
 
typedef uint32_t OTF2_IoParadigmFlag
 Wrapper for enum OTF2_IoParadigmFlag_enum.
 
typedef uint8_t OTF2_IoParadigmProperty
 Wrapper for enum OTF2_IoParadigmProperty_enum.
 
typedef uint32_t OTF2_IoHandleFlag
 Wrapper for enum OTF2_IoHandleFlag_enum.
 
typedef uint8_t OTF2_IoAccessMode
 Wrapper for enum OTF2_IoAccessMode_enum.
 
typedef uint32_t OTF2_IoStatusFlag
 Wrapper for enum OTF2_IoStatusFlag_enum.
 
typedef uint32_t OTF2_CommFlag
 Wrapper for enum OTF2_CommFlag_enum.
 
typedef uint32_t OTF2_RmaWinFlag
 Wrapper for enum OTF2_RmaWinFlag_enum.
 

Enumerations

enum  OTF2_SystemTreeDomain_enum {
  OTF2_SYSTEM_TREE_DOMAIN_MACHINE = 0,
  OTF2_SYSTEM_TREE_DOMAIN_SHARED_MEMORY = 1,
  OTF2_SYSTEM_TREE_DOMAIN_NUMA = 2,
  OTF2_SYSTEM_TREE_DOMAIN_SOCKET = 3,
  OTF2_SYSTEM_TREE_DOMAIN_CACHE = 4,
  OTF2_SYSTEM_TREE_DOMAIN_CORE = 5,
  OTF2_SYSTEM_TREE_DOMAIN_PU = 6,
  OTF2_SYSTEM_TREE_DOMAIN_ACCELERATOR_DEVICE = 7,
  OTF2_SYSTEM_TREE_DOMAIN_NETWORKING_DEVICE = 8
}
 List of available system tree node domains. More...
 
enum  OTF2_LocationGroupType_enum {
  OTF2_LOCATION_GROUP_TYPE_UNKNOWN = 0,
  OTF2_LOCATION_GROUP_TYPE_PROCESS = 1,
  OTF2_LOCATION_GROUP_TYPE_ACCELERATOR = 2
}
 List of possible definitions of type LocationGroup. More...
 
enum  OTF2_LocationType_enum {
  OTF2_LOCATION_TYPE_UNKNOWN = 0,
  OTF2_LOCATION_TYPE_CPU_THREAD = 1,
  OTF2_LOCATION_TYPE_ACCELERATOR_STREAM = 2,
  OTF2_LOCATION_TYPE_GPU = 2,
  OTF2_LOCATION_TYPE_METRIC = 3
}
 List of possible definitions of type Location. More...
 
enum  OTF2_RegionRole_enum {
  OTF2_REGION_ROLE_UNKNOWN = 0,
  OTF2_REGION_ROLE_FUNCTION = 1,
  OTF2_REGION_ROLE_WRAPPER = 2,
  OTF2_REGION_ROLE_LOOP = 3,
  OTF2_REGION_ROLE_CODE = 4,
  OTF2_REGION_ROLE_PARALLEL = 5,
  OTF2_REGION_ROLE_SECTIONS = 6,
  OTF2_REGION_ROLE_SECTION = 7,
  OTF2_REGION_ROLE_WORKSHARE = 8,
  OTF2_REGION_ROLE_SINGLE = 9,
  OTF2_REGION_ROLE_SINGLE_SBLOCK = 10,
  OTF2_REGION_ROLE_MASTER = 11,
  OTF2_REGION_ROLE_CRITICAL = 12,
  OTF2_REGION_ROLE_CRITICAL_SBLOCK = 13,
  OTF2_REGION_ROLE_ATOMIC = 14,
  OTF2_REGION_ROLE_BARRIER = 15,
  OTF2_REGION_ROLE_IMPLICIT_BARRIER = 16,
  OTF2_REGION_ROLE_FLUSH = 17,
  OTF2_REGION_ROLE_ORDERED = 18,
  OTF2_REGION_ROLE_ORDERED_SBLOCK = 19,
  OTF2_REGION_ROLE_TASK = 20,
  OTF2_REGION_ROLE_TASK_CREATE = 21,
  OTF2_REGION_ROLE_TASK_WAIT = 22,
  OTF2_REGION_ROLE_COLL_ONE2ALL = 23,
  OTF2_REGION_ROLE_COLL_ALL2ONE = 24,
  OTF2_REGION_ROLE_COLL_ALL2ALL = 25,
  OTF2_REGION_ROLE_COLL_OTHER = 26,
  OTF2_REGION_ROLE_FILE_IO = 27,
  OTF2_REGION_ROLE_POINT2POINT = 28,
  OTF2_REGION_ROLE_RMA = 29,
  OTF2_REGION_ROLE_DATA_TRANSFER = 30,
  OTF2_REGION_ROLE_ARTIFICIAL = 31,
  OTF2_REGION_ROLE_THREAD_CREATE = 32,
  OTF2_REGION_ROLE_THREAD_WAIT = 33,
  OTF2_REGION_ROLE_TASK_UNTIED = 34,
  OTF2_REGION_ROLE_ALLOCATE = 35,
  OTF2_REGION_ROLE_DEALLOCATE = 36,
  OTF2_REGION_ROLE_REALLOCATE = 37,
  OTF2_REGION_ROLE_FILE_IO_METADATA = 38
}
 List of possible roles of a Region. More...
 
enum  OTF2_RegionFlag_enum {
  OTF2_REGION_FLAG_NONE = 0,
  OTF2_REGION_FLAG_DYNAMIC = ( 1 << 0 ),
  OTF2_REGION_FLAG_PHASE = ( 1 << 1 )
}
 List of possible flags to specify special characteristics of a Region. More...
 
enum  OTF2_GroupType_enum {
  OTF2_GROUP_TYPE_UNKNOWN = 0,
  OTF2_GROUP_TYPE_LOCATIONS = 1,
  OTF2_GROUP_TYPE_REGIONS = 2,
  OTF2_GROUP_TYPE_METRIC = 3,
  OTF2_GROUP_TYPE_COMM_LOCATIONS = 4,
  OTF2_GROUP_TYPE_COMM_GROUP = 5,
  OTF2_GROUP_TYPE_COMM_SELF = 6
}
 List of possible types of a Group. More...
 
enum  OTF2_GroupFlag_enum {
  OTF2_GROUP_FLAG_NONE = 0,
  OTF2_GROUP_FLAG_GLOBAL_MEMBERS = ( 1 << 0 )
}
 List of possible flags to specify special characteristics of a Group. More...
 
enum  OTF2_Base_enum {
  OTF2_BASE_BINARY = 0,
  OTF2_BASE_DECIMAL = 1
}
 MetricMember base types. More...
 
enum  OTF2_MetricOccurrence_enum {
  OTF2_METRIC_SYNCHRONOUS_STRICT = 0,
  OTF2_METRIC_SYNCHRONOUS = 1,
  OTF2_METRIC_ASYNCHRONOUS = 2
}
 List of possible occurrences of a MetricClass. More...
 
enum  OTF2_MetricType_enum {
  OTF2_METRIC_TYPE_OTHER = 0,
  OTF2_METRIC_TYPE_PAPI = 1,
  OTF2_METRIC_TYPE_RUSAGE = 2,
  OTF2_METRIC_TYPE_USER = 3
}
 List of possible types of a MetricMember. More...
 
enum  OTF2_MetricValueProperty_enum {
  OTF2_METRIC_VALUE_ACCUMULATED = 0,
  OTF2_METRIC_VALUE_ABSOLUTE = 1,
  OTF2_METRIC_VALUE_RELATIVE = 2,
  OTF2_METRIC_VALUE_MASK = 15
}
 Information about whether the metric value is accumulated, absolute, or relative. Used for the lower half-byte of OTF2_MetricMode. More...
 
enum  OTF2_MetricTiming_enum {
  OTF2_METRIC_TIMING_START = 0,
  OTF2_METRIC_TIMING_POINT = 1 << 4,
  OTF2_METRIC_TIMING_LAST = 2 << 4,
  OTF2_METRIC_TIMING_NEXT = 3 << 4,
  OTF2_METRIC_TIMING_MASK = 240
}
 Determines when the values have been collected or for which interval of time they are valid. Used for the upper half-byte of OTF2_MetricMode. More...
 
enum  OTF2_MetricMode_enum {
  OTF2_METRIC_ACCUMULATED_START = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_START,
  OTF2_METRIC_ACCUMULATED_POINT = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_POINT,
  OTF2_METRIC_ACCUMULATED_LAST = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_LAST,
  OTF2_METRIC_ACCUMULATED_NEXT = OTF2_METRIC_VALUE_ACCUMULATED | OTF2_METRIC_TIMING_NEXT,
  OTF2_METRIC_ABSOLUTE_POINT = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_POINT,
  OTF2_METRIC_ABSOLUTE_LAST = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_LAST,
  OTF2_METRIC_ABSOLUTE_NEXT = OTF2_METRIC_VALUE_ABSOLUTE | OTF2_METRIC_TIMING_NEXT,
  OTF2_METRIC_RELATIVE_POINT = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_POINT,
  OTF2_METRIC_RELATIVE_LAST = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_LAST,
  OTF2_METRIC_RELATIVE_NEXT = OTF2_METRIC_VALUE_RELATIVE | OTF2_METRIC_TIMING_NEXT
}
 The OTF2_MetricMode is a combination of OTF2_MetricValueProperty and OTF2_MetricTiming. More...
 
enum  OTF2_MetricScope_enum {
  OTF2_SCOPE_LOCATION = 0,
  OTF2_SCOPE_LOCATION_GROUP = 1,
  OTF2_SCOPE_SYSTEM_TREE_NODE = 2,
  OTF2_SCOPE_GROUP = 3
}
 List of possible scopes of a MetricInstance. More...
 
enum  OTF2_RecorderKind_enum {
  OTF2_RECORDER_KIND_UNKNOWN = 0,
  OTF2_RECORDER_KIND_ABSTRACT = 1,
  OTF2_RECORDER_KIND_CPU = 2,
  OTF2_RECORDER_KIND_GPU = 3
}
 List of possible kinds a MetricClass can be recorded by. More...
 
enum  OTF2_ParameterType_enum {
  OTF2_PARAMETER_TYPE_STRING = 0,
  OTF2_PARAMETER_TYPE_INT64 = 1,
  OTF2_PARAMETER_TYPE_UINT64 = 2
}
 List of possible for definitions of type Parameter. More...
 
enum  OTF2_CartPeriodicity_enum {
  OTF2_CART_PERIODIC_FALSE = 0,
  OTF2_CART_PERIODIC_TRUE = 1
}
 Periodicity types of a CartDimension. More...
 
enum  OTF2_InterruptGeneratorMode_enum {
  OTF2_INTERRUPT_GENERATOR_MODE_TIME = 0,
  OTF2_INTERRUPT_GENERATOR_MODE_COUNT = 1
}
 List of possible modes of an InterruptGenerator. More...
 
enum  OTF2_IoParadigmClass_enum {
  OTF2_IO_PARADIGM_CLASS_SERIAL = 0,
  OTF2_IO_PARADIGM_CLASS_PARALLEL = 1
}
 List of I/O paradigm classes. More...
 
enum  OTF2_IoParadigmFlag_enum {
  OTF2_IO_PARADIGM_FLAG_NONE = 0,
  OTF2_IO_PARADIGM_FLAG_OS = ( 1 << 0 )
}
 List of I/O paradigm flags. More...
 
enum  OTF2_IoParadigmProperty_enum { OTF2_IO_PARADIGM_PROPERTY_VERSION = 0 }
 List of I/O paradigm properties. More...
 
enum  OTF2_IoHandleFlag_enum {
  OTF2_IO_HANDLE_FLAG_NONE = 0,
  OTF2_IO_HANDLE_FLAG_PRE_CREATED = ( 1 << 0 ),
  OTF2_IO_HANDLE_FLAG_ALL_PROXY = ( 1 << 1 )
}
 List of possible flags to specify special characteristics of an IoHandle definition. More...
 
enum  OTF2_IoAccessMode_enum {
  OTF2_IO_ACCESS_MODE_READ_ONLY = 0,
  OTF2_IO_ACCESS_MODE_WRITE_ONLY = 1,
  OTF2_IO_ACCESS_MODE_READ_WRITE = 2,
  OTF2_IO_ACCESS_MODE_EXECUTE_ONLY = 3,
  OTF2_IO_ACCESS_MODE_SEARCH_ONLY = 4
}
 Determines how the resulting I/O handle can be accessed with subsequent I/O operations. More...
 
enum  OTF2_IoStatusFlag_enum {
  OTF2_IO_STATUS_FLAG_NONE = 0,
  OTF2_IO_STATUS_FLAG_CLOSE_ON_EXEC = 1 << 0,
  OTF2_IO_STATUS_FLAG_APPEND = 1 << 1,
  OTF2_IO_STATUS_FLAG_NON_BLOCKING = 1 << 2,
  OTF2_IO_STATUS_FLAG_ASYNC = 1 << 3,
  OTF2_IO_STATUS_FLAG_SYNC = 1 << 4,
  OTF2_IO_STATUS_FLAG_DATA_SYNC = 1 << 5,
  OTF2_IO_STATUS_FLAG_AVOID_CACHING = 1 << 6,
  OTF2_IO_STATUS_FLAG_NO_ACCESS_TIME = 1 << 7,
  OTF2_IO_STATUS_FLAG_DELETE_ON_CLOSE = 1 << 8
}
 Special characteristics associated to an IoHandle at the time the handle was created with the IoCreateHandle event or later changed with the IoChangeStatusFlags event. More...
 
enum  OTF2_CommFlag_enum {
  OTF2_COMM_FLAG_NONE = 0,
  OTF2_COMM_FLAG_CREATE_DESTROY_EVENTS = 1 << 0
}
 Special characteristics associated to an Comm or InterComm definition. More...
 
enum  OTF2_RmaWinFlag_enum {
  OTF2_RMA_WIN_FLAG_NONE = 0,
  OTF2_RMA_WIN_FLAG_CREATE_DESTROY_EVENTS = 1 << 0
}
 Special characteristics associated to an RmaWin definition. More...
 

Detailed Description

Data types used in the definition records.

Source template
templates/OTF2_Definitions.tmpl.h

Enumeration Type Documentation

List of available system tree node domains.

Since
Version 1.2
Enumerator
OTF2_SYSTEM_TREE_DOMAIN_MACHINE 

All nodes below a node with this attribute encompass a tightly coupled HPC system.

OTF2_SYSTEM_TREE_DOMAIN_SHARED_MEMORY 

All nodes below a node with this attribute encompass a system where processes can communicate via hardware shared memory.

OTF2_SYSTEM_TREE_DOMAIN_NUMA 

A numa domain. A set of processors around memory which the processors can directly access.

OTF2_SYSTEM_TREE_DOMAIN_SOCKET 

Socket, physical package, or chip. In the physical meaning, i.e. that you can add or remove physically.

OTF2_SYSTEM_TREE_DOMAIN_CACHE 

Cache. Can be L1i, L1d, L2, L3, ...

OTF2_SYSTEM_TREE_DOMAIN_CORE 

Core. A computation unit (may be shared by several logical processors).

OTF2_SYSTEM_TREE_DOMAIN_PU 

Processing Unit (A non-shared ALU, FPU, ...)

OTF2_SYSTEM_TREE_DOMAIN_ACCELERATOR_DEVICE 

A device capable of doing computational work.

Since
Version 3.0.
OTF2_SYSTEM_TREE_DOMAIN_NETWORKING_DEVICE 

A device capable of doing communication across a network.

Since
Version 3.0.

List of possible definitions of type LocationGroup.

Since
Version 1.0
Enumerator
OTF2_LOCATION_GROUP_TYPE_UNKNOWN 

A location group of unknown type.

OTF2_LOCATION_GROUP_TYPE_PROCESS 

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.

OTF2_LOCATION_GROUP_TYPE_ACCELERATOR 

A group of accelerator locations which executed on the same device and have the same controlling location group. Must contain at least one location of type OTF2_LOCATION_TYPE_ACCELERATOR_STREAM, any number of locations of type OTF2_LOCATION_TYPE_METRIC, and may not no locations of type OTF2_LOCATION_TYPE_CPU_THREAD. The creatingLocationGroup attribute of the location group must reference a location group of type OTF2_LOCATION_GROUP_TYPE_PROCESS.

Since
Version 3.0.

List of possible definitions of type Location.

Since
Version 1.0
Enumerator
OTF2_LOCATION_TYPE_UNKNOWN 

A location of unknown type.

OTF2_LOCATION_TYPE_CPU_THREAD 

A CPU thread.

OTF2_LOCATION_TYPE_ACCELERATOR_STREAM 

An activity queue on an accelerator device. The previous entry OTF2_LOCATION_TYPE_GPU is still available.

OTF2_LOCATION_TYPE_GPU 

A GPU location. Alias for, and superseded by, OTF2_LOCATION_TYPE_ACCELERATOR_STREAM.

Deprecated:
In version 3.0.
OTF2_LOCATION_TYPE_METRIC 

A metric only location e.g. an external device.

List of possible roles of a Region.

Since
Version 1.1
Enumerator
OTF2_REGION_ROLE_UNKNOWN 

A region of unknown role.

OTF2_REGION_ROLE_FUNCTION 

An entire function/subroutine.

OTF2_REGION_ROLE_WRAPPER 

An API function wrapped by Score-P.

OTF2_REGION_ROLE_LOOP 

A loop in the code.

OTF2_REGION_ROLE_CODE 

An arbitrary section of code.

OTF2_REGION_ROLE_PARALLEL 

E.g. OpenMP "parallel" construct (structured block)

OTF2_REGION_ROLE_SECTIONS 

E.g. OpenMP "sections" construct.

OTF2_REGION_ROLE_SECTION 

Individual "section" inside an OpenMP "sections" construct.

OTF2_REGION_ROLE_WORKSHARE 

E.g. OpenMP "workshare" construct.

OTF2_REGION_ROLE_SINGLE 

E.g. OpenMP "single" construct.

OTF2_REGION_ROLE_SINGLE_SBLOCK 

E.g. OpenMP "single" construct (structured block)

OTF2_REGION_ROLE_MASTER 

E.g. OpenMP "master" construct.

OTF2_REGION_ROLE_CRITICAL 

E.g. OpenMP "critical" construct.

OTF2_REGION_ROLE_CRITICAL_SBLOCK 

E.g. OpenMP "critical" construct (structured block)

OTF2_REGION_ROLE_ATOMIC 

E.g. OpenMP "atomic" construct.

OTF2_REGION_ROLE_BARRIER 

Explicit barrier.

OTF2_REGION_ROLE_IMPLICIT_BARRIER 

Implicit barrier.

OTF2_REGION_ROLE_FLUSH 

E.g. OpenMP "flush" construct.

OTF2_REGION_ROLE_ORDERED 

E.g. OpenMP "ordered" construct.

OTF2_REGION_ROLE_ORDERED_SBLOCK 

E.g. OpenMP "ordered" construct (structured block)

OTF2_REGION_ROLE_TASK 

"task" construct (structured block)

OTF2_REGION_ROLE_TASK_CREATE 

"task" construct (creation)

OTF2_REGION_ROLE_TASK_WAIT 

"taskwait" construct

OTF2_REGION_ROLE_COLL_ONE2ALL 

Collective 1:N communication operation.

OTF2_REGION_ROLE_COLL_ALL2ONE 

Collective N:1 communication operation.

OTF2_REGION_ROLE_COLL_ALL2ALL 

Collective N:N communication operation.

OTF2_REGION_ROLE_COLL_OTHER 

Collective M:N communication operation.

OTF2_REGION_ROLE_FILE_IO 

A data file I/O operation.

OTF2_REGION_ROLE_POINT2POINT 

A point-to-point communication function.

OTF2_REGION_ROLE_RMA 

A remote memory access communication operation.

OTF2_REGION_ROLE_DATA_TRANSFER 

A data transfer operation in memory.

OTF2_REGION_ROLE_ARTIFICIAL 

An artificial region, mostly used by the monitor software.

Since
Version 1.2.
OTF2_REGION_ROLE_THREAD_CREATE 

A function which creates one thread.

Since
Version 1.3.
OTF2_REGION_ROLE_THREAD_WAIT 

A function which waits for the completion of one thread.

Since
Version 1.3.
OTF2_REGION_ROLE_TASK_UNTIED 

"untied task" construct (structured block)

Since
Version 1.5.
OTF2_REGION_ROLE_ALLOCATE 

A function which allocates memory.

Since
Version 2.0.
OTF2_REGION_ROLE_DEALLOCATE 

A function which deallocates memory.

Since
Version 2.0.
OTF2_REGION_ROLE_REALLOCATE 

A function which changes a previous memory allocation to either increase or decrease the amount.

Since
Version 2.0.
OTF2_REGION_ROLE_FILE_IO_METADATA 

A metadata-only file I/O operation (e.g., IoSeek, IoChangeStatusFlags event).

Since
Version 2.1.

List of possible flags to specify special characteristics of a Region.

Since
Version 1.1
Enumerator
OTF2_REGION_FLAG_NONE 

A region without special characterization.

OTF2_REGION_FLAG_DYNAMIC 

Each time this region is entered it will get an individual call path in the profile.

OTF2_REGION_FLAG_PHASE 

Each time this region is entered it will get an individual root node in the profile.

List of possible types of a Group.

Since
Version 1.2
Enumerator
OTF2_GROUP_TYPE_UNKNOWN 

Group of unknown type.

OTF2_GROUP_TYPE_LOCATIONS 

Group of locations.

OTF2_GROUP_TYPE_REGIONS 

Group of regions.

OTF2_GROUP_TYPE_METRIC 

Group of metrics.

OTF2_GROUP_TYPE_COMM_LOCATIONS 

List of locations which participated in the paradigm specified by the group definition.

For example: In case of MPI, the size of this group should match the size of MPI_COMM_WORLD. Each entry in the list is a Location reference, where the index of the entry is equal to the rank in MPI_COMM_WORLD (i.e., rank i corresponds to location members[i]).

Also, if this definition is present and all location groups are of type OTF2_LOCATION_GROUP_TYPE_PROCESS, the location group IDs of locations with type OTF2_LOCATION_TYPE_CPU_THREAD should match the MPI rank.

This group needs to be defined, before any group of type OTF2_GROUP_TYPE_COMM_GROUP and the same paradigm.

Note: This does not makes sense in local definitions.

OTF2_GROUP_TYPE_COMM_GROUP 

A sub-group of the corresponding group definition with type OTF2_GROUP_TYPE_COMM_LOCATIONS and the same paradigm. The sub-group is formed by listing the indexes of the OTF2_GROUP_TYPE_COMM_LOCATIONS group.

OTF2_GROUP_TYPE_COMM_SELF 

Special group type to efficiently handle self-like communicators (i.e., MPI_COMM_SELF and friends). At most one definition of this type is allowed to exist per paradigm.

List of possible flags to specify special characteristics of a Group.

Since
Version 1.2
Enumerator
OTF2_GROUP_FLAG_NONE 

A group without special characterization.

OTF2_GROUP_FLAG_GLOBAL_MEMBERS 

No translation of ranks in event records needs to be done when a group of type OTF2_GROUP_TYPE_COMM_GROUP has this flag. I.e., the ranks are indexes into the OTF2_GROUP_TYPE_COMM_LOCATIONS group.

MetricMember base types.

Since
Version 1.0
Enumerator
OTF2_BASE_BINARY 

Binary base.

OTF2_BASE_DECIMAL 

Decimal base.

List of possible occurrences of a MetricClass.

Since
Version 1.0
Enumerator
OTF2_METRIC_SYNCHRONOUS_STRICT 

Metric occurs at every region enter and leave.

OTF2_METRIC_SYNCHRONOUS 

Metric occurs only at a region enter and leave, but does not need to occur at every enter/leave.

OTF2_METRIC_ASYNCHRONOUS 

Metric can occur at any place i.e. it is not related to region enter and leaves.

List of possible types of a MetricMember.

Since
Version 1.0
Enumerator
OTF2_METRIC_TYPE_OTHER 

Any metric of a type not explicitly listed below.

OTF2_METRIC_TYPE_PAPI 

PAPI counter.

OTF2_METRIC_TYPE_RUSAGE 

Resource usage counter.

OTF2_METRIC_TYPE_USER 

User metrics.

Information about whether the metric value is accumulated, absolute, or relative. Used for the lower half-byte of OTF2_MetricMode.

Since
Version 1.0
Enumerator
OTF2_METRIC_VALUE_ACCUMULATED 

Accumulated metric is monotonously increasing (i.e., PAPI counter for number of executed floating point operations).

OTF2_METRIC_VALUE_ABSOLUTE 

Absolute metric (i.e., temperature, rate, mean value, etc.).

OTF2_METRIC_VALUE_RELATIVE 

Relative metric.

OTF2_METRIC_VALUE_MASK 

This mask can be used to get lower half-byte in OTF2_MetricMode that is used to indicate metric value property. xxxx1111.

Determines when the values have been collected or for which interval of time they are valid. Used for the upper half-byte of OTF2_MetricMode.

Since
Version 1.0
Enumerator
OTF2_METRIC_TIMING_START 

Metric value belongs to the time interval since the beginning of the measurement.

OTF2_METRIC_TIMING_POINT 

Metric value is only valid at a point in time but not necessarily for any interval of time.

OTF2_METRIC_TIMING_LAST 

Metric value is related to the time interval since the last counter sample of the same metric, i.e. the immediate past.

OTF2_METRIC_TIMING_NEXT 

Metric value is valid from now until the next counter sample, i.e. the future right ahead.

OTF2_METRIC_TIMING_MASK 

This mask can be used to get the upper half-byte in OTF2_MetricMode that is used to indicate metric timing information. 1111xxxx.

The OTF2_MetricMode is a combination of OTF2_MetricValueProperty and OTF2_MetricTiming.

Since
Version 1.0
Enumerator
OTF2_METRIC_ACCUMULATED_START 

Accumulated metric, 'START' timing.

OTF2_METRIC_ACCUMULATED_POINT 

Accumulated metric, 'POINT' timing.

OTF2_METRIC_ACCUMULATED_LAST 

Accumulated metric, 'LAST' timing.

OTF2_METRIC_ACCUMULATED_NEXT 

Accumulated metric, 'NEXT' timing.

OTF2_METRIC_ABSOLUTE_POINT 

Absolute metric, 'POINT' timing.

OTF2_METRIC_ABSOLUTE_LAST 

Absolute metric, 'LAST' timing.

OTF2_METRIC_ABSOLUTE_NEXT 

Absolute metric, 'NEXT' timing.

OTF2_METRIC_RELATIVE_POINT 

Relative metric, 'POINT' timing.

OTF2_METRIC_RELATIVE_LAST 

Relative metric, 'LAST' timing.

OTF2_METRIC_RELATIVE_NEXT 

Relative metric, 'NEXT' timing.

List of possible scopes of a MetricInstance.

Since
Version 1.0
Enumerator
OTF2_SCOPE_LOCATION 

Scope of a metric is another location.

OTF2_SCOPE_LOCATION_GROUP 

Scope of a metric is a location group.

OTF2_SCOPE_SYSTEM_TREE_NODE 

Scope of a metric is a system tree node.

OTF2_SCOPE_GROUP 

Scope of a metric is a generic group of locations.

List of possible kinds a MetricClass can be recorded by.

Since
Version 1.2
Enumerator
OTF2_RECORDER_KIND_UNKNOWN 

No specific kind of recorder.

OTF2_RECORDER_KIND_ABSTRACT 

The metric class will only be recorded via a MetricInstance definitions.

OTF2_RECORDER_KIND_CPU 

This metric class will only be recorded by locations of type OTF2_LOCATION_TYPE_CPU_THREAD.

OTF2_RECORDER_KIND_GPU 

This metric class will only be recorded by locations of type OTF2_LOCATION_TYPE_GPU.

List of possible for definitions of type Parameter.

Since
Version 1.0
Enumerator
OTF2_PARAMETER_TYPE_STRING 

Parameter is of type string.

OTF2_PARAMETER_TYPE_INT64 

Parameter is of type signed 8-byte integer.

OTF2_PARAMETER_TYPE_UINT64 

Parameter is of type unsigned 8-byte integer.

Periodicity types of a CartDimension.

Since
Version 1.3
Enumerator
OTF2_CART_PERIODIC_FALSE 

Dimension is not periodic.

OTF2_CART_PERIODIC_TRUE 

Dimension is periodic.

List of possible modes of an InterruptGenerator.

Since
Version 2.0
Enumerator
OTF2_INTERRUPT_GENERATOR_MODE_TIME 

Denotes that the interrupts generated are time based.

OTF2_INTERRUPT_GENERATOR_MODE_COUNT 

Denotes that the interrupts generated are count based.

List of I/O paradigm classes.

Since
Version 2.1
Enumerator
OTF2_IO_PARADIGM_CLASS_SERIAL 

Serial.

No I/O operations allowed with the OTF2_IO_OPERATION_FLAG_COLLECTIVE flag set and the Comm attribute of the IoHandle definition is always OTF2_UNDEFINED_COMM.

OTF2_IO_PARADIGM_CLASS_PARALLEL 

Parallel.

Collective I/O operations are allowed if the Comm attribute of the IoHandle definition is not OTF2_UNDEFINED_COMM.

List of I/O paradigm flags.

Since
Version 2.1
Enumerator
OTF2_IO_PARADIGM_FLAG_NONE 

No flags set.

OTF2_IO_PARADIGM_FLAG_OS 

This I/O paradigm denotes an interface to the operating system. Thus, no further I/O paradigms below can exist.

List of I/O paradigm properties.

Since
Version 2.1
Enumerator
OTF2_IO_PARADIGM_PROPERTY_VERSION 

Version of the implementation. Optional for all I/O paradigms.

Type: String

List of possible flags to specify special characteristics of an IoHandle definition.

Since
Version 2.1
Enumerator
OTF2_IO_HANDLE_FLAG_NONE 

No flags set.

OTF2_IO_HANDLE_FLAG_PRE_CREATED 

This I/O handle was already created by the system. No IoCreateHandle event occurs with the handle to operate on it, thus it is already active without such event.

The IoHandle definition should be supplemented with an IoPreCreatedHandleState definition to state the access mode and status flags for this pre-created IoHandle.

OTF2_IO_HANDLE_FLAG_ALL_PROXY 

This I/O handle is a proxy to a group of I/O paradigm specific handles. The referenced IoFile definition of such an IoHandle should be OTF2_UNDEFINED_IO_FILE.

No IoCreateHandle, IoDestroyHandle, IoDuplicateHandle, IoChangeStatusFlags events are allowed with such an IoHandle.

Examples are, a call to fflush() with a NULL argument, which means all open output streams; or a call to sync(), which means commit all filesystem caches to disk.

Determines how the resulting I/O handle can be accessed with subsequent I/O operations.

Since
Version 2.1
Enumerator
OTF2_IO_ACCESS_MODE_READ_ONLY 

Read-only access.

POSIX equivalent(s)
O_RDONLY
ISOC equivalent(s)
"r"
MPI-IO equivalent(s)
MPI_MODE_RDONLY
OTF2_IO_ACCESS_MODE_WRITE_ONLY 

Write-only access.

POSIX equivalent(s)
O_WRONLY
ISOC equivalent(s)
"w", "a"
MPI-IO equivalent(s)
MPI_MODE_WRONLY
OTF2_IO_ACCESS_MODE_READ_WRITE 

Read-write access.

POSIX equivalent(s)
O_RDWR
ISOC equivalent(s)
"r+", "w+", "a+"
MPI-IO equivalent(s)
MPI_MODE_RDWR
OTF2_IO_ACCESS_MODE_EXECUTE_ONLY 

Execute only.

POSIX equivalent(s)
O_EXEC
OTF2_IO_ACCESS_MODE_SEARCH_ONLY 

Search only.

POSIX equivalent(s)
O_SEARCH

Special characteristics associated to an IoHandle at the time the handle was created with the IoCreateHandle event or later changed with the IoChangeStatusFlags event.

Since
Version 2.1
Enumerator
OTF2_IO_STATUS_FLAG_NONE 

No flag is set.

OTF2_IO_STATUS_FLAG_CLOSE_ON_EXEC 

Enable close-on-exec flag.

POSIX equivalent(s)
O_CLOEXEC, FD_CLOEXEC
listed as a file descriptor flag, though OTF2_IoStatusFlags will not be inherited, thus they all behave like file descriptor flags
ISOC equivalent(s)
"e" (GNU libc extension)
OTF2_IO_STATUS_FLAG_APPEND 

I/O write operations are automatically performed at the end of the file.

POSIX equivalent(s)
O_APPEND
ISOC equivalent(s)
"a", "a+"
MPI-IO equivalent(s)
MPI_MODE_APPEND
OTF2_IO_STATUS_FLAG_NON_BLOCKING 

I/O operations (including the creation) will fail if they would block the issuing process.

POSIX equivalent(s)
O_NONBLOCK, O_NDELAY
OTF2_IO_STATUS_FLAG_ASYNC 

Enable signal-driven I/O.

POSIX equivalent(s)
O_ASYNC
OTF2_IO_STATUS_FLAG_SYNC 

Write operations on the file will complete according to the requirements of synchronized I/O file integrity completion (data and metadata).

POSIX equivalent(s)
O_SYNC
OTF2_IO_STATUS_FLAG_DATA_SYNC 

Write operations on the file will complete according to the requirements of synchronized I/O data integrity completion.

POSIX equivalent(s)
O_DSYNC
OTF2_IO_STATUS_FLAG_AVOID_CACHING 

Instruct I/O operations to reduce caching effects.

POSIX equivalent(s)
O_DIRECT
OTF2_IO_STATUS_FLAG_NO_ACCESS_TIME 

Read access to a file won't update its last access time.

POSIX equivalent(s)
O_NOATIME
OTF2_IO_STATUS_FLAG_DELETE_ON_CLOSE 

Delete the file when closing the IoHandle.

Though the IoDestroyHandle event does not imply the deletion. A separate IoDeleteFile event must be issued for this.

MPI-IO equivalent(s)
MPI_MODE_DELETE_ON_CLOSE

Special characteristics associated to an Comm or InterComm definition.

Since
Version 3.0
Enumerator
OTF2_COMM_FLAG_NONE 

No flag is set.

OTF2_COMM_FLAG_CREATE_DESTROY_EVENTS 

If set, the corresponding definition does have create/destroy events.

Special characteristics associated to an RmaWin definition.

Since
Version 3.0
Enumerator
OTF2_RMA_WIN_FLAG_NONE 

No flag is set.

OTF2_RMA_WIN_FLAG_CREATE_DESTROY_EVENTS 

If set, the RmaWin definition does have create/destroy events.