3.0-rc2 (revision 337012f1)
|
This file provides all routines that write definition records of a single location. 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>
#include <otf2/OTF2_IdMap.h>
Go to the source code of this file.
Typedefs | |
typedef struct OTF2_DefWriter_struct | OTF2_DefWriter |
Handle definition for the external definition writer. | |
This file provides all routines that write definition records of a single location.
OTF2_ErrorCode OTF2_DefWriter_GetLocationID | ( | const OTF2_DefWriter * | writer, |
OTF2_LocationRef * | location | ||
) |
Returns the location ID of the location which is related to the writer object.
writer | Writer object. |
location | Return location reference. |
OTF2_ErrorCode OTF2_DefWriter_WriteMappingTable | ( | OTF2_DefWriter * | writer, |
OTF2_MappingType | mappingType, | ||
const OTF2_IdMap * | idMap | ||
) |
Writes a MappingTable definition record into the DefWriter.
Mapping tables are needed for situations where an ID is not globally known at measurement time. They are applied automatically at reading.
writer | Writer object. |
mappingType | Says to what type of ID the mapping table has to be applied. |
idMap | Mapping table. |
OTF2_ErrorCode OTF2_DefWriter_WriteClockOffset | ( | OTF2_DefWriter * | writer, |
OTF2_TimeStamp | time, | ||
int64_t | offset, | ||
double | standardDeviation | ||
) |
Writes a ClockOffset definition record into the DefWriter.
Clock offsets are used for clock corrections.
writer | Writer object. |
time | Time when this offset was determined. |
offset | The offset to the global clock which was determined at time . |
standardDeviation | A possible standard deviation, which can be used as a metric for the quality of the offset. |
OTF2_ErrorCode OTF2_DefWriter_WriteString | ( | OTF2_DefWriter * | writer, |
OTF2_StringRef | self, | ||
const char * | string | ||
) |
Writes a String definition record into the DefWriter.
The string definition.
writer | Writer object. |
self | The unique identifier for this String definition. |
string | The string, null terminated. |
OTF2_ErrorCode OTF2_DefWriter_WriteAttribute | ( | OTF2_DefWriter * | writer, |
OTF2_AttributeRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | description, | ||
OTF2_Type | type | ||
) |
Writes a Attribute definition record into the DefWriter.
The attribute definition.
writer | Writer object. |
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_DefWriter_WriteSystemTreeNode | ( | OTF2_DefWriter * | writer, |
OTF2_SystemTreeNodeRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_StringRef | className, | ||
OTF2_SystemTreeNodeRef | parent | ||
) |
Writes a SystemTreeNode definition record into the DefWriter.
The system tree node definition.
writer | Writer object. |
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_DefWriter_WriteLocationGroup | ( | OTF2_DefWriter * | writer, |
OTF2_LocationGroupRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_LocationGroupType | locationGroupType, | ||
OTF2_SystemTreeNodeRef | systemTreeParent, | ||
OTF2_LocationGroupRef | creatingLocationGroup | ||
) |
Writes a LocationGroup definition record into the DefWriter.
The location group definition.
writer | Writer object. |
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_DefWriter_WriteLocation | ( | OTF2_DefWriter * | writer, |
OTF2_LocationRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_LocationType | locationType, | ||
uint64_t | numberOfEvents, | ||
OTF2_LocationGroupRef | locationGroup | ||
) |
Writes a Location definition record into the DefWriter.
The location definition.
writer | Writer object. |
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_DefWriter_WriteRegion | ( | OTF2_DefWriter * | writer, |
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 DefWriter.
The region definition.
writer | Writer object. |
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_DefWriter_WriteCallsite | ( | OTF2_DefWriter * | writer, |
OTF2_CallsiteRef | self, | ||
OTF2_StringRef | sourceFile, | ||
uint32_t | lineNumber, | ||
OTF2_RegionRef | enteredRegion, | ||
OTF2_RegionRef | leftRegion | ||
) |
Writes a Callsite definition record into the DefWriter.
The callsite definition.
writer | Writer object. |
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_DefWriter_WriteCallpath | ( | OTF2_DefWriter * | writer, |
OTF2_CallpathRef | self, | ||
OTF2_CallpathRef | parent, | ||
OTF2_RegionRef | region | ||
) |
Writes a Callpath definition record into the DefWriter.
The callpath definition.
writer | Writer object. |
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_DefWriter_WriteGroup | ( | OTF2_DefWriter * | writer, |
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 DefWriter.
The group definition.
writer | Writer object. |
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_DefWriter_WriteMetricMember | ( | OTF2_DefWriter * | writer, |
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 DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteMetricClass | ( | OTF2_DefWriter * | writer, |
OTF2_MetricRef | self, | ||
uint8_t | numberOfMetrics, | ||
const OTF2_MetricMemberRef * | metricMembers, | ||
OTF2_MetricOccurrence | metricOccurrence, | ||
OTF2_RecorderKind | recorderKind | ||
) |
Writes a MetricClass definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteMetricInstance | ( | OTF2_DefWriter * | writer, |
OTF2_MetricRef | self, | ||
OTF2_MetricRef | metricClass, | ||
OTF2_LocationRef | recorder, | ||
OTF2_MetricScope | metricScope, | ||
uint64_t | scope | ||
) |
Writes a MetricInstance definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteComm | ( | OTF2_DefWriter * | writer, |
OTF2_CommRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_GroupRef | group, | ||
OTF2_CommRef | parent, | ||
OTF2_CommFlag | flags | ||
) |
Writes a Comm definition record into the DefWriter.
The communicator definition.
writer | Writer object. |
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_DefWriter_WriteParameter | ( | OTF2_DefWriter * | writer, |
OTF2_ParameterRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_ParameterType | parameterType | ||
) |
Writes a Parameter definition record into the DefWriter.
The parameter definition.
writer | Writer object. |
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_DefWriter_WriteRmaWin | ( | OTF2_DefWriter * | writer, |
OTF2_RmaWinRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_CommRef | comm, | ||
OTF2_RmaWinFlag | flags | ||
) |
Writes a RmaWin definition record into the DefWriter.
A window defines the communication context for any remote-memory access operation.
writer | Writer object. |
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_DefWriter_WriteMetricClassRecorder | ( | OTF2_DefWriter * | writer, |
OTF2_MetricRef | metric, | ||
OTF2_LocationRef | recorder | ||
) |
Writes a MetricClassRecorder definition record into the DefWriter.
The metric class recorder definition.
writer | Writer object. |
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_DefWriter_WriteSystemTreeNodeProperty | ( | OTF2_DefWriter * | writer, |
OTF2_SystemTreeNodeRef | systemTreeNode, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a SystemTreeNodeProperty definition record into the DefWriter.
An arbitrary key/value property for a SystemTreeNode definition.
writer | Writer object. |
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_DefWriter_WriteSystemTreeNodeDomain | ( | OTF2_DefWriter * | writer, |
OTF2_SystemTreeNodeRef | systemTreeNode, | ||
OTF2_SystemTreeDomain | systemTreeDomain | ||
) |
Writes a SystemTreeNodeDomain definition record into the DefWriter.
The system tree node domain definition.
writer | Writer object. |
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_DefWriter_WriteLocationGroupProperty | ( | OTF2_DefWriter * | writer, |
OTF2_LocationGroupRef | locationGroup, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a LocationGroupProperty definition record into the DefWriter.
An arbitrary key/value property for a LocationGroup definition.
writer | Writer object. |
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_DefWriter_WriteLocationProperty | ( | OTF2_DefWriter * | writer, |
OTF2_LocationRef | location, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a LocationProperty definition record into the DefWriter.
An arbitrary key/value property for a Location definition.
writer | Writer object. |
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_DefWriter_WriteCartDimension | ( | OTF2_DefWriter * | writer, |
OTF2_CartDimensionRef | self, | ||
OTF2_StringRef | name, | ||
uint32_t | size, | ||
OTF2_CartPeriodicity | cartPeriodicity | ||
) |
Writes a CartDimension definition record into the DefWriter.
Each dimension in a Cartesian topology is composed of a global ID, a name, its size, and whether it is periodic or not.
writer | Writer object. |
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_DefWriter_WriteCartTopology | ( | OTF2_DefWriter * | writer, |
OTF2_CartTopologyRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_CommRef | communicator, | ||
uint8_t | numberOfDimensions, | ||
const OTF2_CartDimensionRef * | cartDimensions | ||
) |
Writes a CartTopology definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteCartCoordinate | ( | OTF2_DefWriter * | writer, |
OTF2_CartTopologyRef | cartTopology, | ||
uint32_t | rank, | ||
uint8_t | numberOfDimensions, | ||
const uint32_t * | coordinates | ||
) |
Writes a CartCoordinate definition record into the DefWriter.
Defines the coordinate of the location referenced by the given rank (w.r.t. the communicator associated to the topology) in the referenced topology.
writer | Writer object. |
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_DefWriter_WriteSourceCodeLocation | ( | OTF2_DefWriter * | writer, |
OTF2_SourceCodeLocationRef | self, | ||
OTF2_StringRef | file, | ||
uint32_t | lineNumber | ||
) |
Writes a SourceCodeLocation definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteCallingContext | ( | OTF2_DefWriter * | writer, |
OTF2_CallingContextRef | self, | ||
OTF2_RegionRef | region, | ||
OTF2_SourceCodeLocationRef | sourceCodeLocation, | ||
OTF2_CallingContextRef | parent | ||
) |
Writes a CallingContext definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteCallingContextProperty | ( | OTF2_DefWriter * | writer, |
OTF2_CallingContextRef | callingContext, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a CallingContextProperty definition record into the DefWriter.
An arbitrary key/value property for a CallingContext definition.
writer | Writer object. |
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_DefWriter_WriteInterruptGenerator | ( | OTF2_DefWriter * | writer, |
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 DefWriter.
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
writer | Writer object. |
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_DefWriter_WriteIoFileProperty | ( | OTF2_DefWriter * | writer, |
OTF2_IoFileRef | ioFile, | ||
OTF2_StringRef | name, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a IoFileProperty definition record into the DefWriter.
Extensible annotation for the polymorphic IoFile definition class.
The tuple (ioFile, name) must be unique.
writer | Writer object. |
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_DefWriter_WriteIoRegularFile | ( | OTF2_DefWriter * | writer, |
OTF2_IoFileRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_SystemTreeNodeRef | scope | ||
) |
Writes a IoRegularFile definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteIoDirectory | ( | OTF2_DefWriter * | writer, |
OTF2_IoFileRef | self, | ||
OTF2_StringRef | name, | ||
OTF2_SystemTreeNodeRef | scope | ||
) |
Writes a IoDirectory definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteIoHandle | ( | OTF2_DefWriter * | writer, |
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 DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteIoPreCreatedHandleState | ( | OTF2_DefWriter * | writer, |
OTF2_IoHandleRef | ioHandle, | ||
OTF2_IoAccessMode | mode, | ||
OTF2_IoStatusFlag | statusFlags | ||
) |
Writes a IoPreCreatedHandleState definition record into the DefWriter.
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.
writer | Writer object. |
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_DefWriter_WriteCallpathParameter | ( | OTF2_DefWriter * | writer, |
OTF2_CallpathRef | callpath, | ||
OTF2_ParameterRef | parameter, | ||
OTF2_Type | type, | ||
OTF2_AttributeValue | value | ||
) |
Writes a CallpathParameter definition record into the DefWriter.
A parameter for a callpath definition.
writer | Writer object. |
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_DefWriter_WriteInterComm | ( | OTF2_DefWriter * | writer, |
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 DefWriter.
The inter-communicator definition.
writer | Writer object. |
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. |