3.0.1 (revision 9160da48)
|
This layer always writes globally defined OTF2 definition records and is used to write either the global definitions in addition to local definitions or write all definitions as globally valid in combination with OTF2_GlobalEventWriter. Global definitions are stored in one global definition file, which makes it nearly impossible to write them in a distributed manner. It is therefore only allowed to get such a writer from an OTF2_Archive which is the primary archive in the collective context. More...
#include <stdint.h>
#include "otf2_compiler.h"
#include <otf2/OTF2_ErrorCodes.h>
#include <otf2/OTF2_GeneralDefinitions.h>
#include <otf2/OTF2_AttributeValue.h>
#include <otf2/OTF2_Definitions.h>
Go to the source code of this file.
Typedefs | |
typedef struct OTF2_GlobalDefWriter_struct | OTF2_GlobalDefWriter |
Typedef of the struct which keeps all necessary information of a global definition writer. Can be used to reference these structs from external. | |
This layer always writes globally defined OTF2 definition records and is used to write either the global definitions in addition to local definitions or write all definitions as globally valid in combination with OTF2_GlobalEventWriter. Global definitions are stored in one global definition file, which makes it nearly impossible to write them in a distributed manner. It is therefore only allowed to get such a writer from an OTF2_Archive which is the primary archive in the collective context.
OTF2_ErrorCode OTF2_GlobalDefWriter_GetNumberOfDefinitions | ( | OTF2_GlobalDefWriter * | writerHandle, |
uint64_t * | numberOfDefinitions | ||
) |
Returns the current number of written definitions of a global definition writer.
writerHandle | Handle to the global definition writer. | |
[out] | numberOfDefinitions | Storage for the number of definitions. |
OTF2_ErrorCode OTF2_GlobalDefWriter_GetNumberOfLocations | ( | OTF2_GlobalDefWriter * | writerHandle, |
uint64_t * | numberOfLocations | ||
) |
Returns the current number of written location definitions of a global definition writer.
writerHandle | Handle to the global definition writer. | |
[out] | numberOfLocations | Storage for the number of locations. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteClockProperties | ( | OTF2_GlobalDefWriter * | writerHandle, |
uint64_t | timerResolution, | ||
uint64_t | globalOffset, | ||
uint64_t | traceLength, | ||
uint64_t | realtimeTimestamp | ||
) |
Writes a ClockProperties definition record into the GlobalDefWriter.
Defines the timer resolution and time range of this trace. There will be no event with a timestamp less than globalOffset
, and no event with timestamp greater than (globalOffset
+ traceLength
).
writerHandle | The writer handle. |
timerResolution | Ticks per seconds. |
globalOffset | A timestamp smaller than all event timestamps. |
traceLength | A timespan which includes the timespan between the smallest and greatest timestamp of all event timestamps. |
realtimeTimestamp | A realtime timestamp of the globalOffset timestamp in nanoseconds since 1970-01-01T00:00 UTC. Use OTF2_UNDEFINED_TIMESTAMP if no such timestamp exists. Since version 3.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteParadigm | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_Paradigm | paradigm, | ||
OTF2_StringRef | name, | ||
OTF2_ParadigmClass | paradigmClass | ||
) |
Writes a Paradigm definition record into the GlobalDefWriter.
Attests that the following parallel paradigm was available at the time when the trace was recorded, and vice versa. Note that this does not attest that the paradigm was used. For convenience, this also includes a proper name for the paradigm and a classification. This definition is only allowed to appear at most once in the definitions per Paradigm.
writerHandle | The writer handle. |
paradigm | The paradigm to attest. |
name | The name of the paradigm. References a String definition. |
paradigmClass | The class of this paradigm. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteParadigmProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_Paradigm | paradigm, | ||
OTF2_ParadigmProperty | property, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a ParadigmProperty definition record into the GlobalDefWriter.
Extensible annotation for the Paradigm definition.
The tuple (paradigm, property) must be unique.
writerHandle | The writer handle. |
paradigm | The paradigm to annotate. |
property | The property. |
type | The type of this property. Must match with the defined type of the property. |
value | The value of this property. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteIoParadigm | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_IoParadigmRef | self, | ||
OTF2_StringRef | identification, | ||
OTF2_StringRef | name, | ||
OTF2_IoParadigmClass | ioParadigmClass, | ||
OTF2_IoParadigmFlag | ioParadigmFlags, | ||
uint8_t | numberOfProperties, | ||
const OTF2_IoParadigmProperty * | properties, | ||
const OTF2_Type * | types, | ||
const OTF2_AttributeValue * | values | ||
) |
Writes a IoParadigm definition record into the GlobalDefWriter.
Attests that the following I/O paradigm was available at the time when the trace was recorded, and vice versa. Note that this does not attest that the paradigm was used. For convenience, this also includes a proper name for the paradigm and a classification.
writerHandle | The writer handle. |
self | The unique identifier for this IoParadigm definition. |
identification | The I/O paradigm identification. This should be used programmatically to identify a specific I/O paradigm. For a human-readable name use the name attribute. If this identification matches one of the known I/O paradigms listed in the OTF2 documentation Known OTF2 I/O paradigms, then the attributes of this definition must match those specified there. References a String definition. |
name | The name of the I/O paradigm. This should be presented to humans as the name of this I/O paradigm. References a String definition. |
ioParadigmClass | The class of this I/O paradigm. |
ioParadigmFlags | Boolean properties of this I/O paradigm. |
numberOfProperties | Number of properties. |
properties | The property. |
types | The type of this property. Must match with the defined type of the property. |
values | The value of this property. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteString | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_StringRef | self, | ||
const char * | string | ||
) |
Writes a String definition record into the GlobalDefWriter.
The string definition.
writerHandle | The writer handle. |
self | The unique identifier for this String definition. |
string | The string, null terminated. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteAttribute | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_AttributeRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | description, | ||
OTF2_Type | type | ||
) |
Writes a Attribute definition record into the GlobalDefWriter.
The attribute definition.
writerHandle | The writer handle. |
self | The unique identifier for this Attribute definition. |
name | Name of the attribute. References a String definition. |
description | Description of the attribute. References a String definition. Since version 1.4. |
type | Type of the attribute value. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSystemTreeNode | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SystemTreeNodeRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | className, | ||
OTF2_SystemTreeNodeRef | parent | ||
) |
Writes a SystemTreeNode definition record into the GlobalDefWriter.
The system tree node definition.
writerHandle | The writer handle. |
self | The unique identifier for this SystemTreeNode definition. |
name | Free form instance name of this node. References a String definition. |
className | Free form class name of this node References a String definition. |
parent | Parent ID of this node. May be OTF2_UNDEFINED_SYSTEM_TREE_NODE to indicate that there is no parent. References a SystemTreeNode definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocationGroup | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationGroupRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_LocationGroupType | locationGroupType, | ||
OTF2_SystemTreeNodeRef | systemTreeParent, | ||
OTF2_LocationGroupRef | creatingLocationGroup | ||
) |
Writes a LocationGroup definition record into the GlobalDefWriter.
The location group definition.
writerHandle | The writer handle. |
self | The unique identifier for this LocationGroup definition. |
name | Name of the group. References a String definition. |
locationGroupType | Type of this group. |
systemTreeParent | Parent of this location group in the system tree. References a SystemTreeNode definition. |
creatingLocationGroup | The creating location group of this group. For type OTF2_LOCATION_GROUP_TYPE_PROCESS this may be another group of type OTF2_LOCATION_GROUP_TYPE_PROCESS or OTF2_UNDEFINED_LOCATION_GROUP. For type OTF2_LOCATION_GROUP_TYPE_ACCELERATOR, this must be a group of type OTF2_LOCATION_GROUP_TYPE_PROCESS. References a LocationGroup definition. Since version 3.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocation | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_LocationType | locationType, | ||
uint64_t | numberOfEvents, | ||
OTF2_LocationGroupRef | locationGroup | ||
) |
Writes a Location definition record into the GlobalDefWriter.
The location definition.
writerHandle | The writer handle. |
self | The unique identifier for this Location definition. |
name | Name of the location References a String definition. |
locationType | Location type. |
numberOfEvents | Number of events this location has recorded. |
locationGroup | Location group which includes this location. References a LocationGroup definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteRegion | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_RegionRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | canonicalName, | ||
OTF2_StringRef | description, | ||
OTF2_RegionRole | regionRole, | ||
OTF2_Paradigm | paradigm, | ||
OTF2_RegionFlag | regionFlags, | ||
OTF2_StringRef | sourceFile, | ||
uint32_t | beginLineNumber, | ||
uint32_t | endLineNumber | ||
) |
Writes a Region definition record into the GlobalDefWriter.
The region definition.
writerHandle | The writer handle. |
self | The unique identifier for this Region definition. |
name | Name of the region (demangled name if available). References a String definition. |
canonicalName | Alternative name of the region (e.g. mangled name). References a String definition. Since version 1.1. |
description | A more detailed description of this region. References a String definition. |
regionRole | Region role. Since version 1.1. |
paradigm | Paradigm. Since version 1.1. |
regionFlags | Region flags. Since version 1.1. |
sourceFile | The source file where this region was declared. References a String definition. |
beginLineNumber | Starting line number of this region in the source file. |
endLineNumber | Ending line number of this region in the source file. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallsite | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallsiteRef | self, | ||
OTF2_StringRef | sourceFile, | ||
uint32_t | lineNumber, | ||
OTF2_RegionRef | enteredRegion, | ||
OTF2_RegionRef | leftRegion | ||
) |
Writes a Callsite definition record into the GlobalDefWriter.
The callsite definition.
writerHandle | The writer handle. |
self | The unique identifier for this Callsite definition. |
sourceFile | The source file where this call was made. References a String definition. |
lineNumber | Line number in the source file where this call was made. |
enteredRegion | The region which was called. References a Region definition. |
leftRegion | The region which made the call. References a Region definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallpath | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallpathRef | self, | ||
OTF2_CallpathRef | parent, | ||
OTF2_RegionRef | region | ||
) |
Writes a Callpath definition record into the GlobalDefWriter.
The callpath definition.
writerHandle | The writer handle. |
self | The unique identifier for this Callpath definition. |
parent | The parent of this callpath. References a Callpath definition. |
region | The region of this callpath. References a Region definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteGroup | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_GroupRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_GroupType | groupType, | ||
OTF2_Paradigm | paradigm, | ||
OTF2_GroupFlag | groupFlags, | ||
uint32_t | numberOfMembers, | ||
const uint64_t * | members | ||
) |
Writes a Group definition record into the GlobalDefWriter.
The group definition.
writerHandle | The writer handle. |
self | The unique identifier for this Group definition. |
name | Name of this group References a String definition. |
groupType | The type of this group. Since version 1.2. |
paradigm | The paradigm of this communication group. Since version 1.2. |
groupFlags | Flags for this group. Since version 1.2. |
numberOfMembers | The number of members in this group. |
members | The identifiers of the group members. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricMember | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_MetricMemberRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | description, | ||
OTF2_MetricType | metricType, | ||
OTF2_MetricMode | metricMode, | ||
OTF2_Type | valueType, | ||
OTF2_Base | base, | ||
int64_t | exponent, | ||
OTF2_StringRef | unit | ||
) |
Writes a MetricMember definition record into the GlobalDefWriter.
A metric is defined by a MetricMember definition. A metric member is always a member of a metric class. Therefore, a single metric is a special case of a metric class with only one member. It is not allowed to reference a metric member ID in a Metric event, but only metric class IDs.
writerHandle | The writer handle. |
self | The unique identifier for this MetricMember definition. |
name | Name of the metric. References a String definition. |
description | Description of the metric. References a String definition. |
metricType | Metric type: PAPI, etc. |
metricMode | Metric mode: accumulative, fix, relative, etc. |
valueType | Type of the value. Only OTF2_TYPE_INT64, OTF2_TYPE_UINT64, and OTF2_TYPE_DOUBLE are valid types. If this metric member is recorded in a Metric event, than this type and the type in the event must match. |
base | The recorded values should be handled in this given base, either binary or decimal. This information can be used if the value needs to be scaled. |
exponent | The values inside the Metric events should be scaled by the factor base^exponent, to get the value in its base unit. For example, if the metric values come in as KiBi, than the base should be OTF2_BASE_BINARY and the exponent 10. Than the writer does not need to scale the values up to bytes, but can directly write the KiBi values into the Metric event. At reading time, the reader can apply the scaling factor to get the value in its base unit, ie. in bytes. |
unit | Unit of the metric. This needs to be the scale free base unit, ie. "bytes", "operations", or "seconds". In particular this unit should not have any scale prefix. References a String definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricClass | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_MetricRef | self, | ||
uint8_t | numberOfMetrics, | ||
const OTF2_MetricMemberRef * | metricMembers, | ||
OTF2_MetricOccurrence | metricOccurrence, | ||
OTF2_RecorderKind | recorderKind | ||
) |
Writes a MetricClass definition record into the GlobalDefWriter.
For a metric class it is implicitly given that the event stream that records the metric is also the scope. A metric class can contain multiple different metrics.
writerHandle | The writer handle. |
self | The unique identifier for this MetricClass definition. |
numberOfMetrics | Number of metrics within the set. |
metricMembers | List of metric members. References a MetricMember definition. |
metricOccurrence | Defines occurrence of a metric set. |
recorderKind | What kind of locations will record this metric class, or will this metric class only be recorded by metric instances. Since version 1.2. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricInstance | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_MetricRef | self, | ||
OTF2_MetricRef | metricClass, | ||
OTF2_LocationRef | recorder, | ||
OTF2_MetricScope | metricScope, | ||
uint64_t | scope | ||
) |
Writes a MetricInstance definition record into the GlobalDefWriter.
A MetricInstance is used to define metrics that are recorded at one location for multiple locations or for another location. The occurrence of a metric instance is implicitly of type OTF2_METRIC_ASYNCHRONOUS.
writerHandle | The writer handle. |
self | The unique identifier for this MetricClass definition. |
metricClass | The instanced MetricClass. This metric class must be of kind OTF2_RECORDER_KIND_ABSTRACT. References a MetricClass, or a MetricInstance definition. |
recorder | Recorder of the metric: location ID. References a Location definition. |
metricScope | Defines type of scope: location, location group, system tree node, or a generic group of locations. |
scope | Scope of metric: ID of a location, location group, system tree node, or a generic group of locations. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteComm | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CommRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_GroupRef | group, | ||
OTF2_CommRef | parent, | ||
OTF2_CommFlag | flags | ||
) |
Writes a Comm definition record into the GlobalDefWriter.
The communicator definition.
writerHandle | The writer handle. |
self | The unique identifier for this Comm definition. |
name | The name given by calling MPI_Comm_set_name on this communicator. Or the empty name to indicate that no name was given. References a String definition. |
group | The describing MPI group of this MPI communicator The group needs to be of type OTF2_GROUP_TYPE_COMM_GROUP or OTF2_GROUP_TYPE_COMM_SELF. References a Group definition. |
parent | The parent MPI communicator from which this communicator was created, if any. Use OTF2_UNDEFINED_COMM to indicate no parent. References a Comm definition. |
flags | Special characteristics of this communicator. Since version 3.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteParameter | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_ParameterRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_ParameterType | parameterType | ||
) |
Writes a Parameter definition record into the GlobalDefWriter.
The parameter definition.
writerHandle | The writer handle. |
self | The unique identifier for this Parameter definition. |
name | Name of the parameter (variable name etc.) References a String definition. |
parameterType | Type of the parameter, OTF2_ParameterType for possible types. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteRmaWin | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_RmaWinRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_CommRef | comm, | ||
OTF2_RmaWinFlag | flags | ||
) |
Writes a RmaWin definition record into the GlobalDefWriter.
A window defines the communication context for any remote-memory access operation.
writerHandle | The writer handle. |
self | The unique identifier for this RmaWin definition. |
name | Name, e.g. 'GASPI Queue 1', 'NVidia Card 2', etc.. References a String definition. |
comm | Communicator object used to create the window. References a Comm definition. |
flags | Special characteristics of this RMA window. Since version 3.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteMetricClassRecorder | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_MetricRef | metric, | ||
OTF2_LocationRef | recorder | ||
) |
Writes a MetricClassRecorder definition record into the GlobalDefWriter.
The metric class recorder definition.
writerHandle | The writer handle. |
metric | Parent MetricClass, or MetricInstance definition to which this one is a supplementary definition. References a MetricClass, or a MetricInstance definition. |
recorder | The location which recorded the referenced metric class. References a Location definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSystemTreeNodeProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SystemTreeNodeRef | systemTreeNode, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a SystemTreeNodeProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a SystemTreeNode definition.
writerHandle | The writer handle. |
systemTreeNode | Parent SystemTreeNode definition to which this one is a supplementary definition. References a SystemTreeNode definition. |
name | Name of the property. References a String definition. |
type | The type of this property. Since version 2.0. |
value | The value of this property. Since version 2.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSystemTreeNodeDomain | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SystemTreeNodeRef | systemTreeNode, | ||
OTF2_SystemTreeDomain | systemTreeDomain | ||
) |
Writes a SystemTreeNodeDomain definition record into the GlobalDefWriter.
The system tree node domain definition.
writerHandle | The writer handle. |
systemTreeNode | Parent SystemTreeNode definition to which this one is a supplementary definition. References a SystemTreeNode definition. |
systemTreeDomain | The domain in which the referenced SystemTreeNode operates in. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocationGroupProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationGroupRef | locationGroup, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a LocationGroupProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a LocationGroup definition.
writerHandle | The writer handle. |
locationGroup | Parent LocationGroup definition to which this one is a supplementary definition. References a LocationGroup definition. |
name | Name of the property. References a String definition. |
type | The type of this property. Since version 2.0. |
value | The value of this property. Since version 2.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteLocationProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_LocationRef | location, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a LocationProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a Location definition.
writerHandle | The writer handle. |
location | Parent Location definition to which this one is a supplementary definition. References a Location definition. |
name | Name of the property. References a String definition. |
type | The type of this property. Since version 2.0. |
value | The value of this property. Since version 2.0. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCartDimension | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CartDimensionRef | self, | ||
OTF2_StringRef | name, | ||
uint32_t | size, | ||
OTF2_CartPeriodicity | cartPeriodicity | ||
) |
Writes a CartDimension definition record into the GlobalDefWriter.
Each dimension in a Cartesian topology is composed of a global ID, a name, its size, and whether it is periodic or not.
writerHandle | The writer handle. |
self | The unique identifier for this CartDimension definition. |
name | The name of the Cartesian topology dimension. References a String definition. |
size | The size of the Cartesian topology dimension. |
cartPeriodicity | Periodicity of the Cartesian topology dimension. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCartTopology | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CartTopologyRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_CommRef | communicator, | ||
uint8_t | numberOfDimensions, | ||
const OTF2_CartDimensionRef * | cartDimensions | ||
) |
Writes a CartTopology definition record into the GlobalDefWriter.
Each topology is described by a global ID, a reference to its name, a reference to a communicator, the number of dimensions, and references to those dimensions. The topology type is defined by the paradigm of the group referenced by the associated communicator.
writerHandle | The writer handle. |
self | The unique identifier for this CartTopology definition. |
name | The name of the topology. References a String definition. |
communicator | Communicator object used to create the topology. References a Comm definition. |
numberOfDimensions | Number of dimensions. |
cartDimensions | The dimensions of this topology. References a CartDimension definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCartCoordinate | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CartTopologyRef | cartTopology, | ||
uint32_t | rank, | ||
uint8_t | numberOfDimensions, | ||
const uint32_t * | coordinates | ||
) |
Writes a CartCoordinate definition record into the GlobalDefWriter.
Defines the coordinate of the location referenced by the given rank (w.r.t. the communicator associated to the topology) in the referenced topology.
writerHandle | The writer handle. |
cartTopology | Parent CartTopology definition to which this one is a supplementary definition. References a CartTopology definition. |
rank | The rank w.r.t. the communicator associated to the topology referencing this coordinate. |
numberOfDimensions | Number of dimensions. |
coordinates | Coordinates, indexed by dimension. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteSourceCodeLocation | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_SourceCodeLocationRef | self, | ||
OTF2_StringRef | file, | ||
uint32_t | lineNumber | ||
) |
Writes a SourceCodeLocation definition record into the GlobalDefWriter.
The definition of a source code location as tuple of the corresponding file name and line number.
When used to attach source code annotations to events, use the OTF2_AttributeList with an Attribute definition named "SOURCE_CODE_LOCATION"
and of type OTF2_TYPE_SOURCE_CODE_LOCATION.
writerHandle | The writer handle. |
self | The unique identifier for this SourceCodeLocation definition. |
file | The name of the file for the source code location. References a String definition. |
lineNumber | The line number for the source code location. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallingContext | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallingContextRef | self, | ||
OTF2_RegionRef | region, | ||
OTF2_SourceCodeLocationRef | sourceCodeLocation, | ||
OTF2_CallingContextRef | parent | ||
) |
Writes a CallingContext definition record into the GlobalDefWriter.
Defines a node in the calling context tree. These nodes are referenced in the CallingContextSample, CallingContextEnter, and CallingContextLeave events.
The referenced CallingContext node in these events form a path which represents the calling context at this time. This path will be partitioned into at most three sub-paths by the unwindDistance attribute. For the CallingContextLeave event, the unwindDistance is defined to be 1.
Starting from the referenced CallingContext node, the first nodes were newly entered regions since the previous calling context event. The next node is a region which was not left but made progress since the previous calling context event. All other nodes did not make progress at all, and thus the regions were neither left nor entered again. The unwindDistance is then . In case the unwindDistance
is , there are neither newly entered regions nor regions which made progress.
It is guaranteed, that the node referenced by the unwindDistance exists in the previous and current calling context. All descendants of this node's child in the previous calling context were left since the previous calling context event.
It is valid that this node is the OTF2_UNDEFINED_CALLING_CONTEXT node and that this node is already reached after unwindDistance steps. In the latter case, there exists no region which made progress, all regions in the previous calling context were left and all regions in the current calling context were newly entered.
Note that for CallingContextLeave events, the parent of the referenced CallingContext must be used as the previous calling context for the next event.
Regions which were entered with a CallingContextEnter event form an upper bound for the unwind distance, i.e., the unwindDistance points either to the parent of the last such entered region, or a node which is a descendant to this parent.
To summarize, an unwindDistance of means that no regions were left, newly entered, or made any progress. An unwindDistance of means that some regions were left regarding the previous calling context, no regions were newly entered, and there was progress in the region of the first node. An unwindDistance greater than means that some regions were left regarding the previous calling context, there was progress in one region, and the first unwindDistance regions were newly entered.
writerHandle | The writer handle. |
self | The unique identifier for this CallingContext definition. |
region | The region. References a Region definition. |
sourceCodeLocation | The absolute source code location of this calling context. References a SourceCodeLocation definition. |
parent | Parent ID of this context. References a CallingContext definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallingContextProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallingContextRef | callingContext, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a CallingContextProperty definition record into the GlobalDefWriter.
An arbitrary key/value property for a CallingContext definition.
writerHandle | The writer handle. |
callingContext | Parent CallingContext definition to which this one is a supplementary definition. References a CallingContext definition. |
name | Property name. References a String definition. |
type | The type of this property. Must match with the defined type of the property. |
value | The value of this property. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteInterruptGenerator | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_InterruptGeneratorRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_InterruptGeneratorMode | interruptGeneratorMode, | ||
OTF2_Base | base, | ||
int64_t | exponent, | ||
uint64_t | period | ||
) |
Writes a InterruptGenerator definition record into the GlobalDefWriter.
Defines an interrupt generator which periodically triggers CallingContextSample events. If the mode of the interrupt generator is set to OTF2_INTERRUPT_GENERATOR_MODE_TIME, the generator produces interrupts which are uniformly distributed over time, and the unit of the period is implicitly in seconds. If the mode is OTF2_INTERRUPT_GENERATOR_MODE_COUNT, the interrupt is triggered if a specific counter threshold is reached in the system. Therefore these samples are unlikely to be uniformly distributed over time. The unit of the period is then implicitly a number (threshold value).
The interrupts period in base unit (which is implicitly seconds or number, based on the mode
) is derived out of the base
, the exponent
, and the period
attributes by this formula:
base-period = period x base^exponent
writerHandle | The writer handle. |
self | The unique identifier for this InterruptGenerator definition. |
name | The name of this interrupt generator. References a String definition. |
interruptGeneratorMode | Mode of the interrupt generator. |
base | The base for the period calculation. |
exponent | The exponent for the period calculation. |
period | The period this interrupt generator generates interrupts. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteIoFileProperty | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_IoFileRef | ioFile, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a IoFileProperty definition record into the GlobalDefWriter.
Extensible annotation for the polymorphic IoFile definition class.
The tuple (ioFile, name) must be unique.
writerHandle | The writer handle. |
ioFile | Parent IoRegularFile definition to which this one is a supplementary definition. References a IoRegularFile definition. |
name | Property name. References a String definition. |
type | The type of this property. |
value | The value of this property. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteIoRegularFile | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_IoFileRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_SystemTreeNodeRef | scope | ||
) |
Writes a IoRegularFile definition record into the GlobalDefWriter.
Defines a regular file from which an IoHandle can be created.
This definition is member of the polymorphic IoFile definition class. All definitions of this polymorphic definition class share the same global identifier namespace.
writerHandle | The writer handle. |
self | The unique identifier for this IoRegularFile definition. |
name | Name of the file. References a String definition. |
scope | Defines the physical scope of this IoRegularFile in the system tree. E.g., two IoRegularFile definitions with the same name but different scope values are physically different, thus I/O operations through IoHandles do not operate on the same file. References a SystemTreeNode definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteIoDirectory | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_IoFileRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_SystemTreeNodeRef | scope | ||
) |
Writes a IoDirectory definition record into the GlobalDefWriter.
Defines a directory from which an IoHandle can be created.
This definition is member of the polymorphic IoFile definition class. All definitions of this polymorphic definition class share the same global identifier namespace.
writerHandle | The writer handle. |
self | The unique identifier for this IoRegularFile definition. |
name | Name of the directory. References a String definition. |
scope | Defines the physical scope of this IoDirectory in the system tree. E.g., two IoDirectory definitions with the same name but different scope values are physically different, thus I/O operations through IoHandles do not operate on the same directory. References a SystemTreeNode definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteIoHandle | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_IoHandleRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_IoFileRef | file, | ||
OTF2_IoParadigmRef | ioParadigm, | ||
OTF2_IoHandleFlag | ioHandleFlags, | ||
OTF2_CommRef | comm, | ||
OTF2_IoHandleRef | parent | ||
) |
Writes a IoHandle definition record into the GlobalDefWriter.
Defines an I/O handle which will be used by subsequent I/O operations. I/O operations can only be applied to active I/O handles. An I/O handle gets active either if it was marked with the OTF2_IO_HANDLE_FLAG_PRE_CREATED flag, after it was referenced in an IoCreateHandle event, or it was referenced in the newHandle attribute of an IoDuplicateHandle event. It gets inactive if it was referenced in an IoDestroyHandle event. This life cycle can be repeated indefinitely. Though the OTF2_IO_HANDLE_FLAG_PRE_CREATED flag is unset after a IoDuplicateHandle event. All Locations of a LocationGroup have access to an active IoHandle, regardless which Location of the LocationGroup activated the IoHandle.
writerHandle | The writer handle. |
self | The unique identifier for this IoHandle definition. |
name | Handle name. References a String definition. |
file | File identifier. References a IoRegularFile, or a IoDirectory definition. |
ioParadigm | The I/O paradigm. References a IoParadigm definition. |
ioHandleFlags | Special characteristics of this handle. |
comm | Scope of the file handle. This scope defines which process can access this file via this handle and also defines the collective context for this handle. References a Comm definition. |
parent | Parent, in case this I/O handle was created and operated by an higher-level I/O paradigm. References a IoHandle definition. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteIoPreCreatedHandleState | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_IoHandleRef | ioHandle, | ||
OTF2_IoAccessMode | mode, | ||
OTF2_IoStatusFlag | statusFlags | ||
) |
Writes a IoPreCreatedHandleState definition record into the GlobalDefWriter.
Provide the I/O access mode and status flags for pre-created IoHandles.
Only allowed once for a IoHandle definition with the OTF2_IO_HANDLE_FLAG_PRE_CREATED flag set.
writerHandle | The writer handle. |
ioHandle | Parent IoHandle definition to which this one is a supplementary definition. References a IoHandle definition. |
mode | The access mode of the pre-created IoHandle. |
statusFlags | The status flags of the pre-created IoHandle. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteCallpathParameter | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CallpathRef | callpath, | ||
OTF2_ParameterRef | parameter, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a CallpathParameter definition record into the GlobalDefWriter.
A parameter for a callpath definition.
writerHandle | The writer handle. |
callpath | Parent Callpath definition to which this one is a supplementary definition. References a Callpath definition. |
parameter | The parameter of this callpath. References a Parameter definition. |
type | The type of the attribute value. Must match the type of the parameter. |
value | The value of the parameter for this callpath. |
OTF2_ErrorCode OTF2_GlobalDefWriter_WriteInterComm | ( | OTF2_GlobalDefWriter * | writerHandle, |
OTF2_CommRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_GroupRef | groupA, | ||
OTF2_GroupRef | groupB, | ||
OTF2_CommRef | commonCommunicator, | ||
OTF2_CommFlag | flags | ||
) |
Writes a InterComm definition record into the GlobalDefWriter.
The inter-communicator definition.
writerHandle | The writer handle. |
self | The unique identifier for this Comm definition. |
name | The name given by calling MPI_Comm_set_name on this communicator. Or the empty name to indicate that no name was given. References a String definition. |
groupA | One of the two MPI process groups in the intercommunicator. The group needs to be of type OTF2_GROUP_TYPE_COMM_GROUP or OTF2_GROUP_TYPE_COMM_SELF. References a Group definition. |
groupB | The other of the two MPI process groups in the intercommunicator. The group needs to be of type OTF2_GROUP_TYPE_COMM_GROUP or OTF2_GROUP_TYPE_COMM_SELF. References a Group definition. |
commonCommunicator | The common peer MPI communicator used to create this inter-communicator. Use OTF2_UNDEFINED_COMM if no such communicator was used. References a Comm, or a InterComm definition. |
flags | Special characteristics of this communicator. |