libSplash
|
#include <IParallelDataCollector.hpp>
Public Member Functions | |
virtual void | write (int32_t id, const CollectionType &type, uint32_t rank, const Selection select, const char *name, const void *buf)=0 |
virtual void | write (int32_t id, const Dimensions globalSize, const Dimensions globalOffset, const CollectionType &type, uint32_t rank, const Selection select, const char *name, const void *buf)=0 |
virtual void | reserve (int32_t id, const Dimensions globalSize, uint32_t rank, const CollectionType &type, const char *name)=0 |
virtual void | reserve (int32_t id, const Dimensions size, Dimensions *globalSize, Dimensions *globalOffset, uint32_t rank, const CollectionType &type, const char *name)=0 |
virtual void | readGlobalAttribute (int32_t id, const char *name, void *buf)=0 |
virtual void | writeGlobalAttribute (int32_t id, const CollectionType &type, const char *name, const void *buf)=0 |
virtual void | writeGlobalAttribute (int32_t id, const CollectionType &type, const char *name, uint32_t ndims, const Dimensions dims, const void *buf)=0 |
virtual void | readGlobalAttribute (const char *name, void *buf, Dimensions *mpiPosition=NULL)=0 |
virtual void | writeGlobalAttribute (const CollectionType &type, const char *name, const void *buf)=0 |
virtual void | writeGlobalAttribute (const CollectionType &type, const char *name, uint32_t ndims, const Dimensions dims, const void *buf)=0 |
virtual void | append (int32_t id, const Dimensions size, uint32_t rank, const Dimensions globalOffset, const char *name, const void *buf)=0 |
virtual void | append (int32_t id, const CollectionType &type, size_t count, const char *name, const void *buf)=0 |
virtual void | append (int32_t id, const CollectionType &type, size_t count, size_t offset, size_t stride, const char *name, const void *buf)=0 |
virtual void | finalize (void)=0 |
![]() | |
virtual | ~DataCollector () |
virtual void | open (const char *filename, FileCreationAttr &attr)=0 |
virtual void | close ()=0 |
virtual int32_t | getMaxID ()=0 |
virtual void | getMPISize (Dimensions &mpiSize)=0 |
virtual void | getEntryIDs (int32_t *ids, size_t *count)=0 |
virtual void | getEntriesForID (int32_t id, DCEntry *entries, size_t *count)=0 |
virtual void | remove (int32_t id)=0 |
virtual void | remove (int32_t id, const char *name)=0 |
virtual void | createReference (int32_t srcID, const char *srcName, int32_t dstID, const char *dstName)=0 |
virtual void | createReference (int32_t srcID, const char *srcName, int32_t dstID, const char *dstName, Dimensions count, Dimensions offset, Dimensions stride)=0 |
virtual AttributeInfo | readGlobalAttributeInfo (int32_t id, const char *name, Dimensions *mpiPosition=NULL)=0 |
virtual AttributeInfo | readAttributeInfo (int32_t id, const char *dataName, const char *attrName, Dimensions *mpiPosition=NULL)=0 |
virtual void | readAttribute (int32_t id, const char *dataName, const char *attrName, void *buf, Dimensions *mpiPosition=NULL)=0 |
virtual void | writeAttribute (int32_t id, const CollectionType &type, const char *dataName, const char *attrName, const void *buf)=0 |
virtual void | writeAttribute (int32_t id, const CollectionType &type, const char *dataName, const char *attrName, uint32_t ndims, const Dimensions dims, const void *buf)=0 |
virtual void | read (int32_t id, const char *name, Dimensions &sizeRead, void *buf)=0 |
virtual void | read (int32_t id, const char *name, const Dimensions dstBuffer, const Dimensions dstOffset, Dimensions &sizeRead, void *buf)=0 |
virtual CollectionType * | readMeta (int32_t id, const char *name, const Dimensions dstBuffer, const Dimensions dstOffset, Dimensions &sizeRead)=0 |
Additional Inherited Members | |
![]() | |
enum | FileAccType { FAT_CREATE, FAT_READ, FAT_READ_MERGED, FAT_WRITE } |
typedef struct splash::DataCollector::_FileCreationAttr | FileCreationAttr |
typedef struct splash::DataCollector::_DCEntry | DCEntry |
![]() | |
static void | initFileCreationAttr (FileCreationAttr &attr) |
Interface for a parallel DataCollector.
Definition at line 34 of file IParallelDataCollector.hpp.
|
pure virtual |
Appends (1-3) dimensional data to a dataset created with IParallelDataCollector::reserve.
id | ID for iteration. |
size | Size of the data to be appended. |
rank | Number of dimensions (1-3), |
globalOffset | Offset in destination dataset to append at. |
name | Name for the dataset to append to. |
buf | Buffer to append. |
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Appends 1-dimensional data in a HDF5 file.
The target dataset is created if necessary. If it already exists, data is appended to the end.
id | ID for iteration. |
type | Type information for data. |
count | Number of elements to append. |
name | Name for the dataset to create/append. |
buf | Buffer to append. |
Implements splash::DataCollector.
|
pure virtual |
Appends 1-dimensional data in a HDF5 file using striding.
The target dataset is created if necessary. If it already exists, data is appended to the end. The data is read using striding from source buffer buf
.
id | id for fileentry. e.g. iteration |
type | Type information for data. |
count | Number of elements to append. |
offset | Offset in elements to start reading from in buf . |
stride | Striding to be used for reading from buf , 1 means 'no striding'. buf must contain at least (striding * count) elements. |
name | Name for the dataset to create/append. |
buf | Buffer to append. |
Implements splash::DataCollector.
|
pure virtual |
Finalizes by freeing all MPI resources. Must be called before MPI_Finalize.
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Reads global attribute from HDF5 file.
id | ID for iteration. |
name | Name of the attribute. |
buf | Destination buffer for attribute. |
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Reads global attribute from HDF5 file.
name | Name for the attribute. |
buf | Buffer to read attribute to. |
mpiPosition | Pointer to Dimensions class. Identifies MPI-position-specific custom group. Use NULL to read from default group. |
Implements splash::DataCollector.
|
pure virtual |
Reserves a dataset for parallel access.
id | ID for iteration. |
globalSize | Size to reserve for global data. |
rank | Number of dimensions (1-3). |
type | Type information for data. |
name | Name for the dataset. |
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Reserves a dataset for parallel access.
id | ID for iteration. |
size | Size to reserve for local data. |
globalSize | Returns the global size of the dataset, can be NULL. |
globalOffset | Returns the global offset for the calling process, can be NULL. |
rank | Number of dimensions (1-3). |
type | Type information for data. |
name | Name for the dataset. |
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Implements DataCollector::write The global size and the write offset for the calling process are determined automatically via MPI among all participating processes. Note: This is not possible when writing 2D data with a 3D MPI topology.
Implements splash::DataCollector.
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Writes data to HDF5 file.
id | ID for iteration |
globalSize | Size of global collective write buffer. |
globalOffset | Offset in globalSize buffer where this process writes to. |
type | Type information for data. |
rank | Number of dimensions (1-3). |
select | Selection in src buffer. |
name | Name for the dataset. |
buf | Local buffer for writing. |
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Writes global attribute to HDF5 file (default group).
id | ID for iteration. |
type | Type information for data. |
name | Name of the attribute. |
buf | Source buffer for attribute. |
Implemented in splash::ParallelDataCollector.
|
pure virtual |
Writes global attribute to HDF5 file (default group).
type | Type information for data. |
name | Name of the attribute. |
buf | Buffer to be written as attribute. |
Implements splash::DataCollector.
|
pure virtual |
Writes global attribute to HDF5 file (default group).
type | Type information for data. |
name | Name of the attribute. |
ndims | Number of dimensions (1-3) |
dims | Number of elements |
buf | Buffer to be written as attribute. |
Implements splash::DataCollector.