1.4 (revision 3771)
Defines | Typedefs | Enumerations
otf2/OTF2_GeneralDefinitions.h File Reference

This header file provides general definitions which should be accessible in all internal and external modules. More...

#include <stdint.h>
#include <otf2/OTF2_ErrorCodes.h>

Go to the source code of this file.

Defines

#define OTF2_CHUNK_SIZE_MAX   ( uint64_t )( 1024 * 1024 * 16 )
 Defines the maximum size of a chunk.
#define OTF2_CHUNK_SIZE_MIN   ( uint64_t )( 256 * 1024 )
 Defines the minimum size of a chunk.
#define OTF2_UNDEFINED_ATTRIBUTE   ( ( OTF2_AttributeRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a Attribute definition.
#define OTF2_UNDEFINED_CALLPATH   ( ( OTF2_CallpathRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a Callpath definition.
#define OTF2_UNDEFINED_CALLSITE   ( ( OTF2_CallsiteRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a Callsite definition.
#define OTF2_UNDEFINED_CART_DIMENSION   ( ( OTF2_CartDimensionRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a CartDimension definition.
#define OTF2_UNDEFINED_CART_TOPOLOGY   ( ( OTF2_CartTopologyRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a CartTopology definition.
#define OTF2_UNDEFINED_COMM   ( ( OTF2_CommRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a Comm definition.
#define OTF2_UNDEFINED_GROUP   ( ( OTF2_GroupRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a Group definition.
#define OTF2_UNDEFINED_LOCATION   ( ( OTF2_LocationRef )OTF2_UNDEFINED_UINT64 )
 The invalid value for a reference to a Location definition.
#define OTF2_UNDEFINED_LOCATION_GROUP   ( ( OTF2_LocationGroupRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a LocationGroup definition.
#define OTF2_UNDEFINED_METRIC   ( ( OTF2_MetricRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a MetricClass, or a MetricInstance definition.
#define OTF2_UNDEFINED_METRIC_MEMBER   ( ( OTF2_MetricMemberRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a MetricMember definition.
#define OTF2_UNDEFINED_PARAMETER   ( ( OTF2_ParameterRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a Parameter definition.
#define OTF2_UNDEFINED_REGION   ( ( OTF2_RegionRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a Region definition.
#define OTF2_UNDEFINED_RMA_WIN   ( ( OTF2_RmaWinRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a RmaWin definition.
#define OTF2_UNDEFINED_STRING   ( ( OTF2_StringRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a String definition.
#define OTF2_UNDEFINED_SYSTEM_TREE_NODE   ( ( OTF2_SystemTreeNodeRef )OTF2_UNDEFINED_UINT32 )
 The invalid value for a reference to a SystemTreeNode definition.
#define OTF2_UNDEFINED_TIMESTAMP   OTF2_UNDEFINED_UINT64
 Undefined value for OTF2_TimeStamp.
#define OTF2_UNDEFINED_TYPE   OTF2_UNDEFINED_UINT8
 Undefined value for enums.
OTF2 library version.
#define OTF2_VERSION_MAJOR   1
 Major version number of this OTF2 version.
#define OTF2_VERSION_MINOR   4
 Minor version number of this OTF2 version.
#define OTF2_VERSION_BUGFIX   0
 Bugfix version number of this OTF2 version.
#define OTF2_VERSION_SUFFIX   ""
 Any string suffix of this OTF2 version.
#define OTF2_VERSION   "1.4"
 The OTF2 version as string.
Standard undefined values for basic data types.
#define OTF2_UNDEFINED_UINT8   ( ( uint8_t )( ~( ( uint8_t )0u ) ) )
 Undefined value for type uint8_t.
#define OTF2_UNDEFINED_UINT16   ( ( uint16_t )( ~( ( uint16_t )0u ) ) )
 Undefined value for type uint16_t.
#define OTF2_UNDEFINED_UINT32   ( ( uint32_t )( ~( ( uint32_t )0u ) ) )
 Undefined value for type uint32_t.
#define OTF2_UNDEFINED_UINT64   ( ( uint64_t )( ~( ( uint64_t )0u ) ) )
 Undefined value for type uint64_t.

Typedefs

typedef uint32_t OTF2_AttributeRef
 Type used to indicate a reference to a Attribute definition.
typedef uint32_t OTF2_CallpathRef
 Type used to indicate a reference to a Callpath definition.
typedef uint32_t OTF2_CallsiteRef
 Type used to indicate a reference to a Callsite definition.
typedef uint32_t OTF2_CartDimensionRef
 Type used to indicate a reference to a CartDimension definition.
typedef uint32_t OTF2_CartTopologyRef
 Type used to indicate a reference to a CartTopology definition.
typedef uint32_t OTF2_CommRef
 Type used to indicate a reference to a Comm definition.
typedef uint8_t OTF2_Compression
 Defines which compression is used. Please see OTF2_Compression_enum for a detailed description.
typedef struct
OTF2_DefReader_struct 
OTF2_DefReader
 OTF2 local definition reader handle.
typedef struct
OTF2_EvtReader_struct 
OTF2_EvtReader
 OTF2 local event reader handle.
typedef uint8_t OTF2_FileMode
 Defines how to interact with files. Please see OTF2_FileMode_enum for a detailed description.
typedef uint8_t OTF2_FileSubstrate
 Wrapper for enum OTF2_FileSubstrate_enum.
typedef uint8_t OTF2_FileType
 Wrapper for enum OTF2_FileType_enum.
typedef uint8_t OTF2_FlushType
 Defines whether the recorded data is flushed to a file or not. Please see OTF2_Fllushtype_enum for a detailed description.
typedef struct
OTF2_GlobalDefReader_struct 
OTF2_GlobalDefReader
 OTF2 global definition reader handle.
typedef struct
OTF2_GlobalEvtReader_struct 
OTF2_GlobalEvtReader
 OTF2 global event reader handle.
typedef struct
OTF2_GlobalSnapReader_struct 
OTF2_GlobalSnapReader
 OTF2 global snap reader handle.
typedef uint32_t OTF2_GroupRef
 Type used to indicate a reference to a Group definition.
typedef uint32_t OTF2_LocationGroupRef
 Type used to indicate a reference to a LocationGroup definition.
typedef uint64_t OTF2_LocationRef
 Type used to indicate a reference to a Location definition.
typedef uint8_t OTF2_MappingType
 Wrapper for enum OTF2_MappingType_enum.
typedef struct
OTF2_MarkerReader_struct 
OTF2_MarkerReader
 OTF2 marker reader handle.
typedef uint32_t OTF2_MetricMemberRef
 Type used to indicate a reference to a MetricMember definition.
typedef uint32_t OTF2_MetricRef
 Type used to indicate a reference to a MetricClass, or a MetricInstance definition.
typedef uint8_t OTF2_Paradigm
 Wrapper for enum OTF2_Paradigm_enum.
typedef uint32_t OTF2_ParameterRef
 Type used to indicate a reference to a Parameter definition.
typedef uint32_t OTF2_RegionRef
 Type used to indicate a reference to a Region definition.
typedef uint32_t OTF2_RmaWinRef
 Type used to indicate a reference to a RmaWin definition.
typedef struct
OTF2_SnapReader_struct 
OTF2_SnapReader
 OTF2 local snap reader handle.
typedef uint32_t OTF2_StringRef
 Type used to indicate a reference to a String definition.
typedef uint32_t OTF2_SystemTreeNodeRef
 Type used to indicate a reference to a SystemTreeNode definition.
typedef uint8_t OTF2_ThumbnailType
 Wrapper for enum OTF2_ThumbnailType_enum.
typedef uint64_t OTF2_TimeStamp
 OTF2 time stamp.
typedef uint8_t OTF2_Type
 Wrapper for enum OTF2_Type_enum.

Enumerations

enum  OTF2_CallbackCode {
  OTF2_CALLBACK_SUCCESS = 0,
  OTF2_CALLBACK_INTERRUPT = !OTF2_CALLBACK_SUCCESS,
  OTF2_CALLBACK_ERROR = !OTF2_CALLBACK_SUCCESS
}
 Return value to indicate that the record reading should be interrupted. More...
enum  OTF2_Compression_enum {
  OTF2_COMPRESSION_UNDEFINED = 0,
  OTF2_COMPRESSION_NONE = 1,
  OTF2_COMPRESSION_ZLIB = 2
}
 Defines which compression is used. More...
enum  OTF2_FileMode_enum {
  OTF2_FILEMODE_WRITE = 0,
  OTF2_FILEMODE_READ = 1,
  OTF2_FILEMODE_MODIFY = 2
}
 Defines how to interact with files. More...
enum  OTF2_FileSubstrate_enum {
  OTF2_SUBSTRATE_UNDEFINED = 0,
  OTF2_SUBSTRATE_POSIX = 1,
  OTF2_SUBSTRATE_SION = 2,
  OTF2_SUBSTRATE_NONE = 3
}
 Defines which file substrate is used. More...
enum  OTF2_FileType_enum {
  OTF2_FILETYPE_ANCHOR = 0,
  OTF2_FILETYPE_GLOBAL_DEFS = 1,
  OTF2_FILETYPE_LOCAL_DEFS = 2,
  OTF2_FILETYPE_EVENTS = 3,
  OTF2_FILETYPE_SNAPSHOTS = 4,
  OTF2_FILETYPE_THUMBNAIL = 5,
  OTF2_FILETYPE_MARKER = 6,
  OTF2_FILETYPE_SIONRANKMAP = 7
}
 Defines which file type is used. More...
enum  OTF2_FlushType_enum {
  OTF2_NO_FLUSH = 0,
  OTF2_FLUSH = 1
}
 Defines whether the recorded data is flushed to a file or not. More...
enum  OTF2_MappingType_enum {
  OTF2_MAPPING_STRING = 0,
  OTF2_MAPPING_ATTRIBUTE = 1,
  OTF2_MAPPING_LOCATION = 2,
  OTF2_MAPPING_REGION = 3,
  OTF2_MAPPING_GROUP = 4,
  OTF2_MAPPING_METRIC = 5,
  OTF2_MAPPING_COMM = 6,
  OTF2_MAPPING_PARAMETER = 7,
  OTF2_MAPPING_RMA_WIN = 8,
  OTF2_MAPPING_MAX = 9
}
 Possible mappings from local to global identifiers. More...
enum  OTF2_Paradigm_enum {
  OTF2_PARADIGM_UNKNOWN = 0,
  OTF2_PARADIGM_USER = 1,
  OTF2_PARADIGM_COMPILER = 2,
  OTF2_PARADIGM_OPENMP = 3,
  OTF2_PARADIGM_MPI = 4,
  OTF2_PARADIGM_CUDA = 5,
  OTF2_PARADIGM_MEASUREMENT_SYSTEM = 6,
  OTF2_PARADIGM_PTHREAD = 7,
  OTF2_PARADIGM_HMPP = 8,
  OTF2_PARADIGM_OMPSS = 9,
  OTF2_PARADIGM_HARDWARE = 10,
  OTF2_PARADIGM_GASPI = 11,
  OTF2_PARADIGM_UPC = 12,
  OTF2_PARADIGM_SHMEM = 13
}
 List of known paradigms. More...
enum  OTF2_ThumbnailType_enum {
  OTF2_THUMBNAIL_TYPE_REGION = 0,
  OTF2_THUMBNAIL_TYPE_METRIC = 1,
  OTF2_THUMBNAIL_TYPE_ATTRIBUTES = 2
}
 Type of definitions used as metric in an thumbnail. More...
enum  OTF2_Type_enum {
  OTF2_TYPE_NONE = 0,
  OTF2_TYPE_UINT8 = 1,
  OTF2_TYPE_UINT16 = 2,
  OTF2_TYPE_UINT32 = 3,
  OTF2_TYPE_UINT64 = 4,
  OTF2_TYPE_INT8 = 5,
  OTF2_TYPE_INT16 = 6,
  OTF2_TYPE_INT32 = 7,
  OTF2_TYPE_INT64 = 8,
  OTF2_TYPE_FLOAT = 9,
  OTF2_TYPE_DOUBLE = 10,
  OTF2_TYPE_STRING = 11,
  OTF2_TYPE_ATTRIBUTE = 12,
  OTF2_TYPE_LOCATION = 13,
  OTF2_TYPE_REGION = 14,
  OTF2_TYPE_GROUP = 15,
  OTF2_TYPE_METRIC = 16,
  OTF2_TYPE_COMM = 17,
  OTF2_TYPE_PARAMETER = 18,
  OTF2_TYPE_RMA_WIN = 19
}
 OTF2 basic data types. More...

Detailed Description

This header file provides general definitions which should be accessible in all internal and external modules.

Source Template:
templates/OTF2_GeneralDefinitions.tmpl.h

Enumeration Type Documentation

Return value to indicate that the record reading should be interrupted.

Returning OTF2_CALLBACK_INTERRUPT will stop reading more events, if functions like:

where called. The return value for these functions is OTF2_ERROR_INTERRUPTED_BY_CALLBACK in this case. It is valid to call any reader functions in such a condition again.

This type is also used as return type in the collective callbacks (see Operating OTF2 in an collective context). Any value different than OTF2_CALLBACK_SUCCESS is treated as an error and the calling function will return OTF2_ERROR_COLLECTIVE_CALLBACK to its caller. As the name OTF2_CALLBACK_INTERRUPT does not really fit, a second alias is named OTF2_CALLBACK_ERROR provided.

Enumerator:
OTF2_CALLBACK_SUCCESS 

Record reading can continue.

OTF2_CALLBACK_INTERRUPT 

Interrupt record reading.

Control returns to the caller of the read function with error OTF2_ERROR_INTERRUPTED_BY_CALLBACK to signal this. The actual value can be any except OTF2_CALLBACK_SUCCESS.

OTF2_CALLBACK_ERROR 

Signalling an error in the callback.

Defines which compression is used.

Enumerator:
OTF2_COMPRESSION_UNDEFINED 

Undefined.

OTF2_COMPRESSION_NONE 

No compression is used.

OTF2_COMPRESSION_ZLIB 

Use zlib compression.

Defines how to interact with files.

Enumerator:
OTF2_FILEMODE_WRITE 

Open a file in write-only mode.

OTF2_FILEMODE_READ 

Open a file in read-only mode.

OTF2_FILEMODE_MODIFY 

Open a file in write-read mode.

Defines which file substrate is used.

Since:
Version 1.0
Enumerator:
OTF2_SUBSTRATE_UNDEFINED 

Undefined.

OTF2_SUBSTRATE_POSIX 

Use standard posix file interface.

OTF2_SUBSTRATE_SION 

Use the interface of the SIONlib to write many logical files into few physical files.

OTF2_SUBSTRATE_NONE 

Do not use any file interface. No data is written to a file.

Defines which file type is used.

Since:
Version 1.0
Enumerator:
OTF2_FILETYPE_ANCHOR 

Represents the type for the anchor file (.otf2).

OTF2_FILETYPE_GLOBAL_DEFS 

Represents the type for the global definition file (.def).

OTF2_FILETYPE_LOCAL_DEFS 

Represents the type for a local definition file (.def).

OTF2_FILETYPE_EVENTS 

Represents the type for a event file (.evt).

OTF2_FILETYPE_SNAPSHOTS 

Represents the type for a snapshot file (.snap).

OTF2_FILETYPE_THUMBNAIL 

Represents the type for a thumb file (.thumb).

OTF2_FILETYPE_MARKER 

Represents the type for a marker file (.marker).

OTF2_FILETYPE_SIONRANKMAP 

Internal file which holds the SION rank map (.srm).

Defines whether the recorded data is flushed to a file or not.

Enumerator:
OTF2_NO_FLUSH 

Flushing will be supressed when running out of memory.

OTF2_FLUSH 

Recorded data is flushed when running out of memory.

Possible mappings from local to global identifiers.

Since:
Version 1.0
Enumerator:
OTF2_MAPPING_STRING 

Mapping of String identifiers.

OTF2_MAPPING_ATTRIBUTE 

Mapping of Attribute identifiers.

OTF2_MAPPING_LOCATION 

Mapping of Location identifiers.

OTF2_MAPPING_REGION 

Mapping of Region identifiers.

OTF2_MAPPING_GROUP 

Mapping of Group identifiers.

OTF2_MAPPING_METRIC 

Mapping of Metric identifiers.

OTF2_MAPPING_COMM 

Mapping of Comm identifiers.

OTF2_MAPPING_PARAMETER 

Mapping of Parameter identifiers.

OTF2_MAPPING_RMA_WIN 

Mapping of RmaWin identifiers.

Since:
Version 1.2.
OTF2_MAPPING_MAX 

Max entry.

List of known paradigms.

Since:
Version 1.1
Enumerator:
OTF2_PARADIGM_UNKNOWN 

An unknown paradigm.

OTF2_PARADIGM_USER 

User instrumentation.

OTF2_PARADIGM_COMPILER 

Compiler instrumentation.

OTF2_PARADIGM_OPENMP 

OpenMP.

OTF2_PARADIGM_MPI 

MPI.

OTF2_PARADIGM_CUDA 

CUDA.

OTF2_PARADIGM_MEASUREMENT_SYSTEM 

The measurement software.

Since:
Version 1.2.
OTF2_PARADIGM_PTHREAD 

POSIX threads.

Since:
Version 1.3.
OTF2_PARADIGM_HMPP 

HMPP.

Since:
Version 1.3.
OTF2_PARADIGM_OMPSS 

OmpSs.

Since:
Version 1.3.
OTF2_PARADIGM_HARDWARE 

Hardware.

Since:
Version 1.3.
OTF2_PARADIGM_GASPI 

GASPI.

Since:
Version 1.4.
OTF2_PARADIGM_UPC 

Unified Parallel C (UPC).

Since:
Version 1.4.
OTF2_PARADIGM_SHMEM 

SGI SHMEM, Cray SHMEM, OpenShmem.

Since:
Version 1.4.

Type of definitions used as metric in an thumbnail.

Since:
Version 1.2
Enumerator:
OTF2_THUMBNAIL_TYPE_REGION 

The referenced definitions are of type Region.

OTF2_THUMBNAIL_TYPE_METRIC 

The referenced definitions are of type MetricMember.

OTF2_THUMBNAIL_TYPE_ATTRIBUTES 

The referenced definitions are of type Attribute.

OTF2 basic data types.

Since:
Version 1.0
Enumerator:
OTF2_TYPE_NONE 

Undefined type.

Type category: None

OTF2_TYPE_UINT8 

Unsigned 8-bit integer.

Type category: Integer

OTF2_TYPE_UINT16 

Unsigned 16-bit integer.

Type category: Integer

OTF2_TYPE_UINT32 

Unsigned 32-bit integer.

Type category: Integer

OTF2_TYPE_UINT64 

Unsigned 64-bit integer.

Type category: Integer

OTF2_TYPE_INT8 

Signed 8-bit integer.

Type category: Integer

OTF2_TYPE_INT16 

Signed 16-bit integer.

Type category: Integer

OTF2_TYPE_INT32 

Signed 32-bit integer.

Type category: Integer

OTF2_TYPE_INT64 

Signed 64-bit integer.

Type category: Integer

OTF2_TYPE_FLOAT 

32-bit floating point value

Type category: Floating point

OTF2_TYPE_DOUBLE 

64-bit floating point value

Type category: Floating point

OTF2_TYPE_STRING 

Mapping of String identifiers.

Type category: Definition reference

OTF2_TYPE_ATTRIBUTE 

Mapping of Attribute identifiers.

Type category: Definition reference

OTF2_TYPE_LOCATION 

Mapping of Location identifiers.

Type category: Definition reference

OTF2_TYPE_REGION 

Mapping of Region identifiers.

Type category: Definition reference

OTF2_TYPE_GROUP 

Mapping of Group identifiers.

Type category: Definition reference

OTF2_TYPE_METRIC 

Mapping of Metric identifiers.

Type category: Definition reference

OTF2_TYPE_COMM 

Mapping of Comm identifiers.

Type category: Definition reference

OTF2_TYPE_PARAMETER 

Mapping of Parameter identifiers.

Type category: Definition reference

OTF2_TYPE_RMA_WIN 

Mapping of RmaWin identifiers.

Since:
Version 1.2.

Type category: Definition reference