2.3 (revision 117c8d5b)
Data Structures | Typedefs | Enumerations
OTF2_Events.h File Reference

Enums and types used in event records. More...

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

Go to the source code of this file.

Data Structures

union  OTF2_MetricValue
 Metric value. More...
 

Typedefs

typedef uint8_t OTF2_MeasurementMode
 Wrapper for enum OTF2_MeasurementMode_enum.
 
typedef uint8_t OTF2_CollectiveOp
 Wrapper for enum OTF2_CollectiveOp_enum.
 
typedef uint8_t OTF2_RmaSyncType
 Wrapper for enum OTF2_RmaSyncType_enum.
 
typedef uint32_t OTF2_RmaSyncLevel
 Wrapper for enum OTF2_RmaSyncLevel_enum.
 
typedef uint8_t OTF2_LockType
 Wrapper for enum OTF2_LockType_enum.
 
typedef uint8_t OTF2_RmaAtomicType
 Wrapper for enum OTF2_RmaAtomicType_enum.
 
typedef uint32_t OTF2_IoCreationFlag
 Wrapper for enum OTF2_IoCreationFlag_enum.
 
typedef uint8_t OTF2_IoSeekOption
 Wrapper for enum OTF2_IoSeekOption_enum.
 
typedef uint8_t OTF2_IoOperationMode
 Wrapper for enum OTF2_IoOperationMode_enum.
 
typedef uint32_t OTF2_IoOperationFlag
 Wrapper for enum OTF2_IoOperationFlag_enum.
 

Enumerations

enum  OTF2_MeasurementMode_enum {
  OTF2_MEASUREMENT_ON = 1,
  OTF2_MEASUREMENT_OFF = 2
}
 Types for use in the MeasurementOnOff event. More...
 
enum  OTF2_CollectiveOp_enum {
  OTF2_COLLECTIVE_OP_BARRIER = 0,
  OTF2_COLLECTIVE_OP_BCAST = 1,
  OTF2_COLLECTIVE_OP_GATHER = 2,
  OTF2_COLLECTIVE_OP_GATHERV = 3,
  OTF2_COLLECTIVE_OP_SCATTER = 4,
  OTF2_COLLECTIVE_OP_SCATTERV = 5,
  OTF2_COLLECTIVE_OP_ALLGATHER = 6,
  OTF2_COLLECTIVE_OP_ALLGATHERV = 7,
  OTF2_COLLECTIVE_OP_ALLTOALL = 8,
  OTF2_COLLECTIVE_OP_ALLTOALLV = 9,
  OTF2_COLLECTIVE_OP_ALLTOALLW = 10,
  OTF2_COLLECTIVE_OP_ALLREDUCE = 11,
  OTF2_COLLECTIVE_OP_REDUCE = 12,
  OTF2_COLLECTIVE_OP_REDUCE_SCATTER = 13,
  OTF2_COLLECTIVE_OP_SCAN = 14,
  OTF2_COLLECTIVE_OP_EXSCAN = 15,
  OTF2_COLLECTIVE_OP_REDUCE_SCATTER_BLOCK = 16,
  OTF2_COLLECTIVE_OP_CREATE_HANDLE = 17,
  OTF2_COLLECTIVE_OP_DESTROY_HANDLE = 18,
  OTF2_COLLECTIVE_OP_ALLOCATE = 19,
  OTF2_COLLECTIVE_OP_DEALLOCATE = 20,
  OTF2_COLLECTIVE_OP_CREATE_HANDLE_AND_ALLOCATE = 21,
  OTF2_COLLECTIVE_OP_DESTROY_HANDLE_AND_DEALLOCATE = 22
}
 Types of collective operations. More...
 
enum  OTF2_RmaSyncType_enum {
  OTF2_RMA_SYNC_TYPE_MEMORY = 0,
  OTF2_RMA_SYNC_TYPE_NOTIFY_IN = 1,
  OTF2_RMA_SYNC_TYPE_NOTIFY_OUT = 2
}
 Type of direct RMA synchronization call. More...
 
enum  OTF2_RmaSyncLevel_enum {
  OTF2_RMA_SYNC_LEVEL_NONE = 0,
  OTF2_RMA_SYNC_LEVEL_PROCESS = ( 1 << 0 ),
  OTF2_RMA_SYNC_LEVEL_MEMORY = ( 1 << 1 )
}
 Synchronization level used in RMA synchronization records. More...
 
enum  OTF2_LockType_enum {
  OTF2_LOCK_EXCLUSIVE = 0,
  OTF2_LOCK_SHARED = 1
}
 General Lock Type. More...
 
enum  OTF2_RmaAtomicType_enum {
  OTF2_RMA_ATOMIC_TYPE_ACCUMULATE = 0,
  OTF2_RMA_ATOMIC_TYPE_INCREMENT = 1,
  OTF2_RMA_ATOMIC_TYPE_TEST_AND_SET = 2,
  OTF2_RMA_ATOMIC_TYPE_COMPARE_AND_SWAP = 3,
  OTF2_RMA_ATOMIC_TYPE_SWAP = 4,
  OTF2_RMA_ATOMIC_TYPE_FETCH_AND_ADD = 5,
  OTF2_RMA_ATOMIC_TYPE_FETCH_AND_INCREMENT = 6,
  OTF2_RMA_ATOMIC_TYPE_FETCH_AND_ACCUMULATE = 7
}
 RMA Atomic Operation Type. More...
 
enum  OTF2_IoCreationFlag_enum {
  OTF2_IO_CREATION_FLAG_NONE = 0,
  OTF2_IO_CREATION_FLAG_CREATE = 1 << 0,
  OTF2_IO_CREATION_FLAG_TRUNCATE = 1 << 1,
  OTF2_IO_CREATION_FLAG_DIRECTORY = 1 << 2,
  OTF2_IO_CREATION_FLAG_EXCLUSIVE = 1 << 3,
  OTF2_IO_CREATION_FLAG_NO_CONTROLLING_TERMINAL = 1 << 4,
  OTF2_IO_CREATION_FLAG_NO_FOLLOW = 1 << 5,
  OTF2_IO_CREATION_FLAG_PATH = 1 << 6,
  OTF2_IO_CREATION_FLAG_TEMPORARY_FILE = 1 << 7,
  OTF2_IO_CREATION_FLAG_LARGEFILE = 1 << 8,
  OTF2_IO_CREATION_FLAG_NO_SEEK = 1 << 9,
  OTF2_IO_CREATION_FLAG_UNIQUE = 1 << 10
}
 Special I/O handle creation modes when creating the handle with the IoCreateHandle event. More...
 
enum  OTF2_IoSeekOption_enum {
  OTF2_IO_SEEK_FROM_START = 0,
  OTF2_IO_SEEK_FROM_CURRENT = 1,
  OTF2_IO_SEEK_FROM_END = 2,
  OTF2_IO_SEEK_DATA = 3,
  OTF2_IO_SEEK_HOLE = 4
}
 Options for repositioning a file offset with file seek operations. More...
 
enum  OTF2_IoOperationMode_enum {
  OTF2_IO_OPERATION_MODE_READ = 0,
  OTF2_IO_OPERATION_MODE_WRITE = 1,
  OTF2_IO_OPERATION_MODE_FLUSH = 2
}
 Operation mode of an I/O file operation. More...
 
enum  OTF2_IoOperationFlag_enum {
  OTF2_IO_OPERATION_FLAG_NONE = 0,
  OTF2_IO_OPERATION_FLAG_NON_BLOCKING = 1 << 0,
  OTF2_IO_OPERATION_FLAG_COLLECTIVE = 1 << 1
}
 Flags for I/O operations to indicate specific semantics of the operation. More...
 

Detailed Description

Enums and types used in event records.

Source template^^ templates/OTF2_Events.tmpl.h

Enumeration Type Documentation

Types for use in the MeasurementOnOff event.

Since
Version 1.0
Enumerator
OTF2_MEASUREMENT_ON 

The measurement resumed with event recording.

OTF2_MEASUREMENT_OFF 

The measurement suspended with event recording.

Types of collective operations.

Since
Version 1.0
Enumerator
OTF2_COLLECTIVE_OP_BARRIER 

Barrier synchronization.

OTF2_COLLECTIVE_OP_BCAST 

Broadcast data from one member to all group members.

OTF2_COLLECTIVE_OP_GATHER 

Gather data from all group members to one member.

OTF2_COLLECTIVE_OP_GATHERV 

Gather data from all group members to one member, varying count of data from each member.

OTF2_COLLECTIVE_OP_SCATTER 

Scatter data from one member to all group members.

OTF2_COLLECTIVE_OP_SCATTERV 

Scatter data from one member to all group members, varying count of data from each member.

OTF2_COLLECTIVE_OP_ALLGATHER 

Gather data from all group members, all members of the group will receive the result.

OTF2_COLLECTIVE_OP_ALLGATHERV 

Gather data from all group members, varying count of data from each member, all members of the group will receive the result.

OTF2_COLLECTIVE_OP_ALLTOALL 

Collective scatter/gather operation (complete exchange)

OTF2_COLLECTIVE_OP_ALLTOALLV 

Collective scatter/gather operation (complete exchange), varying count of data from each member.

OTF2_COLLECTIVE_OP_ALLTOALLW 

Collective scatter/gather operation (complete exchange), varying count of data from each member, varying data type from each member.

OTF2_COLLECTIVE_OP_ALLREDUCE 

Collective reduction operation, all members of the group will receive the result.

OTF2_COLLECTIVE_OP_REDUCE 

Collective reduction operation.

OTF2_COLLECTIVE_OP_REDUCE_SCATTER 

Collective reduce/scatter operation, varying size of scattered blocks.

OTF2_COLLECTIVE_OP_SCAN 

Collective scan operation across all members of a group.

OTF2_COLLECTIVE_OP_EXSCAN 

Collective exclusive scan operation across all members of a group.

OTF2_COLLECTIVE_OP_REDUCE_SCATTER_BLOCK 

Collective reduce/scatter operation.

OTF2_COLLECTIVE_OP_CREATE_HANDLE 

Collectively create a handle (ie. MPI_Win, MPI_Comm, MPI_File).

OTF2_COLLECTIVE_OP_DESTROY_HANDLE 

Collectively destroy a handle.

OTF2_COLLECTIVE_OP_ALLOCATE 

Collectively allocate memory.

OTF2_COLLECTIVE_OP_DEALLOCATE 

Collectively deallocate memory.

OTF2_COLLECTIVE_OP_CREATE_HANDLE_AND_ALLOCATE 

Collectively create a handle and allocate memory.

OTF2_COLLECTIVE_OP_DESTROY_HANDLE_AND_DEALLOCATE 

Collectively destroy a handle and deallocate memory.

Type of direct RMA synchronization call.

Since
Version 1.2
Enumerator
OTF2_RMA_SYNC_TYPE_MEMORY 

Synchronize memory copy.

OTF2_RMA_SYNC_TYPE_NOTIFY_IN 

Incoming remote notification.

OTF2_RMA_SYNC_TYPE_NOTIFY_OUT 

Outgoing remote notification.

Synchronization level used in RMA synchronization records.

Since
Version 1.2
Enumerator
OTF2_RMA_SYNC_LEVEL_NONE 

No process synchronization or access completion (e.g., MPI_Win_post, MPI_Win_start).

OTF2_RMA_SYNC_LEVEL_PROCESS 

Synchronize processes (e.g., MPI_Win_create/free).

OTF2_RMA_SYNC_LEVEL_MEMORY 

Complete memory accesses (e.g., MPI_Win_complete, MPI_Win_wait).

General Lock Type.

Since
Version 1.2
Enumerator
OTF2_LOCK_EXCLUSIVE 

Exclusive lock. No other lock will be granted.

OTF2_LOCK_SHARED 

Shared lock. Other shared locks will be granted, but no exclusive locks.

RMA Atomic Operation Type.

Since
Version 1.2
Enumerator
OTF2_RMA_ATOMIC_TYPE_ACCUMULATE 

Atomic accumulate operation.

OTF2_RMA_ATOMIC_TYPE_INCREMENT 

Atomic increment operation.

OTF2_RMA_ATOMIC_TYPE_TEST_AND_SET 

Atomic test-and-set operation.

OTF2_RMA_ATOMIC_TYPE_COMPARE_AND_SWAP 

Atomic compare-and-swap operation.

OTF2_RMA_ATOMIC_TYPE_SWAP 

Atomic swap operation.

Since
Version 1.4.
OTF2_RMA_ATOMIC_TYPE_FETCH_AND_ADD 

Atomic fetch-and-add operation.

Since
Version 1.4.
OTF2_RMA_ATOMIC_TYPE_FETCH_AND_INCREMENT 

Atomic fetch-and-increment operation.

Since
Version 1.4.
OTF2_RMA_ATOMIC_TYPE_FETCH_AND_ACCUMULATE 

Atomic fetch and accumulate operation with a specified operator.

Since
Version 2.1.

Special I/O handle creation modes when creating the handle with the IoCreateHandle event.

Since
Version 2.1
Enumerator
OTF2_IO_CREATION_FLAG_NONE 

No flag is set.

OTF2_IO_CREATION_FLAG_CREATE 

If the file does not exist, it will be created.

POSIX equivalent(s)
O_CREAT
ISOC equivalent(s)
"w+", "a", "a+"
MPI-IO equivalent(s)
MPI_MODE_CREATE
OTF2_IO_CREATION_FLAG_TRUNCATE 

Truncate file to length 0 if possible.

POSIX equivalent(s)
O_TRUNC
ISOC equivalent(s)
"w", "w+"
OTF2_IO_CREATION_FLAG_DIRECTORY 

Open operation will fail if pathname is not a directory.

POSIX equivalent(s)
O_DIRECTORY
OTF2_IO_CREATION_FLAG_EXCLUSIVE 

Ensure that this call creates the file.

POSIX equivalent(s)
O_EXCL
ISOC equivalent(s)
"x" (GNU libc extension)
MPI-IO equivalent(s)
MPI_MODE_EXCL
OTF2_IO_CREATION_FLAG_NO_CONTROLLING_TERMINAL 

File is a terminal device and should not be promoted to a controlling terminal, if non existed before.

POSIX equivalent(s)
O_NOCTTY
OTF2_IO_CREATION_FLAG_NO_FOLLOW 

If pathname is a symbolic link, then the open operation will fail.

POSIX equivalent(s)
O_NOFOLLOW
OTF2_IO_CREATION_FLAG_PATH 

File is only a location in the filesystem tree and is not suitable for reading and writing.

POSIX equivalent(s)
O_PATH
OTF2_IO_CREATION_FLAG_TEMPORARY_FILE 

Create an unnamed temporary file.

POSIX equivalent(s)
O_TMPFILE
OTF2_IO_CREATION_FLAG_LARGEFILE 

Ensure that the file size can be represented by a 64-bit datatype.

POSIX equivalent(s)
O_LARGEFILE
not listed as a file creation flag, though it cannot be changed after creation either
OTF2_IO_CREATION_FLAG_NO_SEEK 

Gives the advice that no reposition will happen on this I/O handle. E.g., no seek operation or similar, only sequential read or write operations.

MPI-IO equivalent(s)
MPI_MODE_SEQUENTIAL
OTF2_IO_CREATION_FLAG_UNIQUE 

Gives the advice that this will be the only active IoHandle of the IoParadigm which will operate on the referenced IoFile at any time. E.g., no other IoHandle of the same IoParadigm and the same IoFile will be active.

MPI-IO equivalent(s)
MPI_MODE_UNIQUE_OPEN

Options for repositioning a file offset with file seek operations.

Since
Version 2.1
Enumerator
OTF2_IO_SEEK_FROM_START 

The offset is applied to the start of the file.

POSIX equivalent(s)
SEEK_SET
ISOC equivalent(s)
SEEK_SET
MPI-IO equivalent(s)
MPI_SEEK_SET
OTF2_IO_SEEK_FROM_CURRENT 

The offset is applied to the current file position.

POSIX equivalent(s)
SEEK_CUR
ISOC equivalent(s)
SEEK_CUR
MPI-IO equivalent(s)
MPI_SEEK_CUR
OTF2_IO_SEEK_FROM_END 

The offset is applied to the end of the file.

POSIX equivalent(s)
SEEK_END
ISOC equivalent(s)
SEEK_END
MPI-IO equivalent(s)
MPI_SEEK_END
OTF2_IO_SEEK_DATA 

The offset is applied to the next position in the file containing data.

POSIX equivalent(s)
SEEK_DATA
OTF2_IO_SEEK_HOLE 

The offset is applied to the next position in the file containing no data.

POSIX equivalent(s)
SEEK_HOLE

Operation mode of an I/O file operation.

Since
Version 2.1
Enumerator
OTF2_IO_OPERATION_MODE_READ 

Read operation.

OTF2_IO_OPERATION_MODE_WRITE 

Write operation.

OTF2_IO_OPERATION_MODE_FLUSH 

Flush operation.

Flags for I/O operations to indicate specific semantics of the operation.

Since
Version 2.1
Enumerator
OTF2_IO_OPERATION_FLAG_NONE 

No special semantics.

OTF2_IO_OPERATION_FLAG_NON_BLOCKING 

The I/O operation was performed in a non-blocking mode.

OTF2_IO_OPERATION_FLAG_COLLECTIVE 

The I/O operation is performed collectively over the communicator of the referenced IoHandle handle.