1.5.1 (revision 4026)
Data Structures | Typedefs
otf2/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_CollectiveCallbacks
 Struct which holds all collective callbacks. More...
struct  OTF2_FlushCallbacks
 Structure holding the flush callbacks. More...
struct  OTF2_LockingCallbacks
 Struct which holds all collective callbacks. More...
struct  OTF2_MemoryCallbacks
 Structure holding the memory callbacks. More...

Typedefs

typedef OTF2_CallbackCode(* OTF2_Collectives_Barrier )(void *userData, OTF2_CollectiveContext *commContext)
 Performs an barrier collective on the given communication context.
typedef OTF2_CallbackCode(* OTF2_Collectives_Bcast )(void *userData, OTF2_CollectiveContext *commContext, void *data, uint32_t numberElements, OTF2_Type type, uint32_t root)
 Performs an broadcast collective on the given communication context.
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.
typedef OTF2_CallbackCode(* OTF2_Collectives_FreeLocalComm )(void *userData, OTF2_CollectiveContext *localCommContext)
 Destroys the communication context previous created by the OTF2_Collectives_CreateLocalComm callback.
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 an gather collective on the given communication context where each ranks contribute the same number of elements. outData is only valid at rank root.
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 an gather collective on the given communication context where each ranks contribute different number of elements. outData and outElements are only valid at rank root.
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.
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.
typedef void(* OTF2_Collectives_Release )(void *userData, OTF2_CollectiveContext *globalCommContext, OTF2_CollectiveContext *localCommContext)
 Optionally called in OTF2_Archive_Close or OTF2_Reader_Close respectively.
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 an scatter collective on the given communication context where each ranks contribute the same number of elements. inData is only valid at rank root.
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 an scatter collective on the given communication context where each ranks contribute different number of elements. inData and inElements are only valid at rank root.
typedef OTF2_CallbackCode(* OTF2_Locking_Create )(void *userData, OTF2_Lock *lock)
 Creates a new locking object.
typedef OTF2_CallbackCode(* OTF2_Locking_Destroy )(void *userData, OTF2_Lock lock)
 Destroys a locking object.
typedef OTF2_CallbackCode(* OTF2_Locking_Lock )(void *userData, OTF2_Lock lock)
 Locks a locking object.
typedef void(* OTF2_Locking_Release )(void *userData)
 Optionally called in OTF2_Archive_Close or OTF2_Reader_Close respectively.
typedef OTF2_CallbackCode(* OTF2_Locking_Unlock )(void *userData, OTF2_Lock lock)
 Unlocks a locking object.
typedef void *(* OTF2_MemoryAllocate )(void *userData, OTF2_FileType fileType, OTF2_LocationRef location, void **perBufferData, uint64_t chunkSize)
 Function pointer for allocating memory for chunks.
typedef void(* OTF2_MemoryFreeAll )(void *userData, OTF2_FileType fileType, OTF2_LocationRef location, void **perBufferData, bool final)
 Function pointer to release all allocated chunks.
typedef OTF2_TimeStamp(* OTF2_PostFlushCallback )(void *userData, OTF2_FileType fileType, OTF2_LocationRef location)
 Definition for the post flush callback.
typedef OTF2_FlushType(* OTF2_PreFlushCallback )(void *userData, OTF2_FileType fileType, OTF2_LocationRef location, void *callerData, bool final)
 Definition for the pre flush callback.

Detailed Description

This header file provides all user callbacks.