#include <IDomainCollector.hpp>
|
enum | DomDataClass { UndefinedType = 0,
PolyType = 10,
GridType = 20
} |
|
|
virtual Domain | getGlobalDomain (int32_t id, const char *name)=0 |
|
virtual Domain | getLocalDomain (int32_t id, const char *name)=0 |
|
virtual DataContainer * | readDomain (int32_t id, const char *name, const Domain domain, DomDataClass *dataClass, bool lazyLoad=false)=0 |
|
virtual void | readDomainLazy (DomainData *domainData)=0 |
|
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 | 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 |
|
Interface for managing domains. See DomainCollector for more information.
Definition at line 45 of file IDomainCollector.hpp.
◆ DomDataClass
◆ appendDomain() [1/2]
virtual void splash::IDomainCollector::appendDomain |
( |
int32_t |
id, |
|
|
const CollectionType & |
type, |
|
|
size_t |
count, |
|
|
const char * |
name, |
|
|
const Domain |
localDomain, |
|
|
const Domain |
globalDomain, |
|
|
const void * |
buf |
|
) |
| |
|
pure virtual |
Appends 1D data with annotated domain information.
- Parameters
-
id | ID of iteration. |
type | Type information for data. |
count | Number of elements to append. |
name | Name for the dataset to create/append. |
localDomain | Local subdomain. |
globalDomain | Logical global domain. |
buf | Buffer with data. |
Implemented in splash::DomainCollector.
◆ appendDomain() [2/2]
virtual void splash::IDomainCollector::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 |
|
) |
| |
|
pure virtual |
Appends 1D data with annotated domain information.
- Parameters
-
id | ID of iteration. |
type | Type information for data. |
count | Number of elements to append. |
offset | Offset in elements to start reading from. |
striding | Striding to be used for reading. Data must contain at least (striding * count) elements. 1 mean 'no striding'. |
name | Name for the dataset to create/append. |
localDomain | Local subdomain. |
globalDomain | Logical global domain. |
buf | Buffer with data. |
Implemented in splash::DomainCollector.
◆ getGlobalDomain()
virtual Domain splash::IDomainCollector::getGlobalDomain |
( |
int32_t |
id, |
|
|
const char * |
name |
|
) |
| |
|
pure virtual |
Returns the global domain that is spanned by all local datasets (subdomains) of the currently accessed files. The user is responsible to guarantee that the actual subdomains form a line/rectangle/cuboid.
- Parameters
-
id | ID of iteration. |
name | Name of the dataset. |
- Returns
- Global domain spanned by all subdomains.
Implemented in splash::ParallelDomainCollector, and splash::DomainCollector.
◆ getLocalDomain()
virtual Domain splash::IDomainCollector::getLocalDomain |
( |
int32_t |
id, |
|
|
const char * |
name |
|
) |
| |
|
pure virtual |
◆ readDomain()
virtual DataContainer* splash::IDomainCollector::readDomain |
( |
int32_t |
id, |
|
|
const char * |
name, |
|
|
const Domain |
domain, |
|
|
DomDataClass * |
dataClass, |
|
|
bool |
lazyLoad = false |
|
) |
| |
|
pure virtual |
Efficiently reads domain-annotated data. In comparison to the standard read method, only data required for the requested partition is read. It passes back a DataContainer holding all subdomains or subdomain portions, respectively, which make up the requested partition. Data from the files is immediately copied to the DomainData objects in the container and DomainData buffers are dealloated when the DomainData object is deleted, which must be done by the user.
- Parameters
-
id | ID of the iteration. |
name | Name of the dataset. |
domain | Domain for reading. |
dataClass | Optional domain type annotation, can be NULL. |
lazyLoad | Set to load only size information for each subdomain, data must be loaded later using IDomainCollector::readDomainLazy. |
- Returns
- Returns a pointer to a newly allocated DataContainer holding all subdomains.
Implemented in splash::ParallelDomainCollector, and splash::DomainCollector.
◆ readDomainLazy()
virtual void splash::IDomainCollector::readDomainLazy |
( |
DomainData * |
domainData | ) |
|
|
pure virtual |
Reads a subdomain which has been loaded using readDomain with lazyLoad activated. The DomainCollector instance must not have been closed in between. Currently only supported for domain annotated data of type DomDataClass::PolyType.
- Parameters
-
domainData | Pointer to subdomain loaded using lazyLoad == true. |
Implemented in splash::ParallelDomainCollector, and splash::DomainCollector.
◆ writeDomain()
virtual void splash::IDomainCollector::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 documentation for this class was generated from the following file: