libSplash
Public Member Functions | List of all members
splash::IParallelDomainCollector Class Referenceabstract
Inheritance diagram for splash::IParallelDomainCollector:
Inheritance graph
[legend]
Collaboration diagram for splash::IParallelDomainCollector:
Collaboration graph
[legend]

Public Member Functions

virtual void writeDomain (int32_t id, const CollectionType &type, uint32_t ndims, const Selection select, const char *name, const Domain localDomain, const Domain globalDomain, DomDataClass dataClass, const void *buf)=0
 
virtual void writeDomain (int32_t id, const Dimensions globalSize, const Dimensions globalOffset, const CollectionType &type, uint32_t ndims, const Selection select, const char *name, const Domain globalDomain, DomDataClass dataClass, const void *buf)=0
 
virtual void reserveDomain (int32_t id, const Dimensions globalSize, uint32_t ndims, const CollectionType &type, const char *name, const Domain domain, DomDataClass dataClass)=0
 
virtual void reserveDomain (int32_t id, const Dimensions size, Dimensions *globalSize, Dimensions *globalOffset, uint32_t ndims, const CollectionType &type, const char *name, const Domain domain, DomDataClass dataClass)=0
 
- Public Member Functions inherited from splash::IDomainCollector
virtual Domain getGlobalDomain (int32_t id, const char *name)=0
 
virtual Domain getLocalDomain (int32_t id, const char *name)=0
 
virtual DataContainerreadDomain (int32_t id, const char *name, const Domain domain, DomDataClass *dataClass, bool lazyLoad=false)=0
 
virtual void readDomainLazy (DomainData *domainData)=0
 
virtual void appendDomain (int32_t id, const CollectionType &type, size_t count, const char *name, const Domain localDomain, const Domain globalDomain, const void *buf)=0
 
virtual void appendDomain (int32_t id, const CollectionType &type, size_t count, size_t offset, size_t striding, const char *name, const Domain localDomain, const Domain globalDomain, const void *buf)=0
 

Additional Inherited Members

- Public Types inherited from splash::IDomainCollector
enum  DomDataClass { UndefinedType = 0, PolyType = 10, GridType = 20 }
 

Detailed Description

Definition at line 31 of file IParallelDomainCollector.hpp.

Member Function Documentation

◆ reserveDomain() [1/2]

virtual void splash::IParallelDomainCollector::reserveDomain ( int32_t  id,
const Dimensions  globalSize,
uint32_t  ndims,
const CollectionType type,
const char *  name,
const Domain  domain,
DomDataClass  dataClass 
)
pure virtual

Reserves a dataset with annotated domain information for parallel access.

Parameters
idID for iteration.
globalSizeGlobal size for reserved dataset.
ndimsNumber of dimensions (1-3).
typeType information for data.
nameName for the dataset.
domainGlobal domain information.
dataClassSubdomain type annotation.

Implemented in splash::ParallelDomainCollector.

◆ reserveDomain() [2/2]

virtual void splash::IParallelDomainCollector::reserveDomain ( int32_t  id,
const Dimensions  size,
Dimensions globalSize,
Dimensions globalOffset,
uint32_t  ndims,
const CollectionType type,
const char *  name,
const Domain  domain,
DomDataClass  dataClass 
)
pure virtual

Reserves a dataset with annotated domain information for parallel access.

The global size and the global 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.

Parameters
idID for iteration.
sizeGlobal size for reserved dataset.
globalSizeReturns the global size of the dataset, can be NULL.
globalOffsetReturns the global offset for the calling process, can be NULL.
ndimsNumber of dimensions (1-3).
typeType information for data.
nameName for the dataset.
domainGlobal domain information.
dataClassSubdomain type annotation.

Implemented in splash::ParallelDomainCollector.

◆ writeDomain() [1/2]

virtual void splash::IParallelDomainCollector::writeDomain ( int32_t  id,
const CollectionType type,
uint32_t  ndims,
const Selection  select,
const char *  name,
const Domain  localDomain,
const Domain  globalDomain,
DomDataClass  dataClass,
const void *  buf 
)
pure virtual

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.

The global domain size and the domain offset for the calling process are determined automatically via MPI among all participating processes.

Implements splash::IDomainCollector.

Implemented in splash::ParallelDomainCollector.

◆ writeDomain() [2/2]

virtual void splash::IParallelDomainCollector::writeDomain ( int32_t  id,
const Dimensions  globalSize,
const Dimensions  globalOffset,
const CollectionType type,
uint32_t  ndims,
const Selection  select,
const char *  name,
const Domain  globalDomain,
DomDataClass  dataClass,
const void *  buf 
)
pure virtual

Writes data with annotated domain information.

Parameters
idID for iteration.
globalSizeDimensions for global collective buffer.
globalOffset3D-offset in the globalSize-buffer this process writes to.
typeType information for data.
ndimsNumber of dimensions (1-3) of the buffer.
selectSelection in src buffer.
nameName of the dataset.
globalDomainGlobal domain information.
dataClassDomain type annotation.
bufBuffer with data.

Implemented in splash::ParallelDomainCollector.


The documentation for this class was generated from the following file: