3.1-rc3 (revision d9ca08bb)
Data Structures | Macros | Typedefs
OTF2_Callbacks.h File Reference

This header file provides all user callbacks. More...

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

Go to the source code of this file.

Data Structures

struct  OTF2_FlushCallbacks
 Structure holding the flush callbacks. More...
 
struct  OTF2_MemoryCallbacks
 Structure holding the memory callbacks. More...
 
struct  OTF2_CollectiveCallbacks
 Struct which holds all collective callbacks. More...
 
struct  OTF2_LockingCallbacks
 Struct which holds all locking callbacks. More...
 

Macros

#define OTF2_COLLECTIVES_ROOT   0
 Constant which determines that the primary archive should be the root for the collective operation.
 

Typedefs

typedef OTF2_FlushType(* OTF2_PreFlushCallback) (void *userData, OTF2_FileType fileType, OTF2_LocationRef location, void *callerData, bool final)
 Definition for the pre flush callback. More...
 
typedef OTF2_TimeStamp(* OTF2_PostFlushCallback) (void *userData, OTF2_FileType fileType, OTF2_LocationRef location)
 Definition for the post flush callback. More...
 
typedef void *(* OTF2_MemoryAllocate) (void *userData, OTF2_FileType fileType, OTF2_LocationRef location, void **perBufferData, uint64_t chunkSize)
 Function pointer for allocating memory for chunks. More...
 
typedef void(* OTF2_MemoryFreeAll) (void *userData, OTF2_FileType fileType, OTF2_LocationRef location, void **perBufferData, bool final)
 Function pointer to release all allocated chunks. More...
 
typedef struct OTF2_CollectiveContext OTF2_CollectiveContext
 User provided type for collective groups. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_GetSize) (void *userData, OTF2_CollectiveContext *commContext, uint32_t *size)
 Returns the number of OTF2_Archive objects operating in this communication context. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_GetRank) (void *userData, OTF2_CollectiveContext *commContext, uint32_t *rank)
 Returns the rank of this OTF2_Archive objects in this communication context. A number between 0 and one less of the size of the communication context. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_CreateLocalComm) (void *userData, OTF2_CollectiveContext **localCommContext, OTF2_CollectiveContext *globalCommContext, uint32_t globalRank, uint32_t globalSize, uint32_t localRank, uint32_t localSize, uint32_t fileNumber, uint32_t numberOfFiles)
 Create a new disjoint partitioning of the the globalCommContext communication context. numberOfFiles denotes the number of the partitions. fileNumber denotes in which of the partitions this OTF2_Archive should belong. localSize is the size of this partition and localRank the rank of this OTF2_Archive in the partition. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_FreeLocalComm) (void *userData, OTF2_CollectiveContext *localCommContext)
 Destroys the communication context previous created by the OTF2_Collectives_CreateLocalComm callback. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_Barrier) (void *userData, OTF2_CollectiveContext *commContext)
 Performs a barrier collective on the given communication context. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_Bcast) (void *userData, OTF2_CollectiveContext *commContext, void *data, uint32_t numberElements, OTF2_Type type, uint32_t root)
 Performs a broadcast collective on the given communication context. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_Gather) (void *userData, OTF2_CollectiveContext *commContext, const void *inData, void *outData, uint32_t numberElements, OTF2_Type type, uint32_t root)
 Performs a gather collective on the given communication context where each ranks contribute the same number of elements. outData is only valid at rank root. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_Gatherv) (void *userData, OTF2_CollectiveContext *commContext, const void *inData, uint32_t inElements, void *outData, const uint32_t *outElements, OTF2_Type type, uint32_t root)
 Performs a gather collective on the given communication context where each ranks contribute different number of elements. outData and outElements are only valid at rank root. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_Scatter) (void *userData, OTF2_CollectiveContext *commContext, const void *inData, void *outData, uint32_t numberElements, OTF2_Type type, uint32_t root)
 Performs a scatter collective on the given communication context where each ranks contribute the same number of elements. inData is only valid at rank root. More...
 
typedef OTF2_CallbackCode(* OTF2_Collectives_Scatterv) (void *userData, OTF2_CollectiveContext *commContext, const void *inData, const uint32_t *inElements, void *outData, uint32_t outElements, OTF2_Type type, uint32_t root)
 Performs a scatter collective on the given communication context where each ranks contribute different number of elements. inData and inElements are only valid at rank root. More...
 
typedef void(* OTF2_Collectives_Release) (void *userData, OTF2_CollectiveContext *globalCommContext, OTF2_CollectiveContext *localCommContext)
 Optionally called in OTF2_Archive_Close or OTF2_Reader_Close respectively. More...
 
typedef struct OTF2_LockObject * OTF2_Lock
 Opaque type for a locking object. More...
 
typedef OTF2_CallbackCode(* OTF2_Locking_Create) (void *userData, OTF2_Lock *lock)
 Creates a new locking object. More...
 
typedef OTF2_CallbackCode(* OTF2_Locking_Destroy) (void *userData, OTF2_Lock lock)
 Destroys a locking object. More...
 
typedef OTF2_CallbackCode(* OTF2_Locking_Lock) (void *userData, OTF2_Lock lock)
 Locks a locking object. More...
 
typedef OTF2_CallbackCode(* OTF2_Locking_Unlock) (void *userData, OTF2_Lock lock)
 Unlocks a locking object. More...
 
typedef void(* OTF2_Locking_Release) (void *userData)
 Signals the end of life of the OTF2_Archive or OTF2_Reader object to the locking callbacks. More...
 

Detailed Description

This header file provides all user callbacks.