Slice the n-dimensional dataset into hyperslabs and distribute chunks according to them. More...
#include <ChunkInfo.hpp>
Public Member Functions | |
| ByCuboidSlice (std::unique_ptr< auxiliary::BlockSlicer > blockSlicer, Extent totalExtent) | |
| Assignment | assign (PartialAssignment, RankMeta const &in, RankMeta const &out, size_t my_rank, size_t num_ranks) override |
| Assign chunks to be loaded to reading processes. | |
| virtual std::unique_ptr< Strategy > | clone () const override |
Public Member Functions inherited from openPMD::chunk_assignment::Strategy | |
| Assignment | assign (ChunkTable chunkTable, RankMeta const &in, RankMeta const &out, size_t my_rank, size_t num_ranks) |
| Assign chunks to be loaded to reading processes. | |
Slice the n-dimensional dataset into hyperslabs and distribute chunks according to them.
This strategy only produces chunks in the returned ChunkTable for the calling parallel process. Incoming chunks are intersected with the hyperslab and assigned to the current parallel process in case this intersection is non-empty.
|
overridevirtual |
Assign chunks to be loaded to reading processes.
To be defined by implementors.
| partialAssignment | Two chunktables, one of unassigned chunks and one of chunks that might have already been assigned previously. Merge the unassigned chunks into the partially assigned table. |
| in | Meta information on writing processes, e.g. hostnames. |
| out | Meta information on reading processes, e.g. hostnames. |
| my_rank | Rank identifier for the current process. Will be considered by some distribution strategies that may be called for only a subselection of the data space (e.g. for distributing data within processes on the same compute node in a cluster). |
| num_ranks | Number of processes among which chunks are to be distributed. Will be considered by some distribution strategies that may be called for only a subselection of the data space (e.g. for distributing data within processes on the same compute node in a cluster). |
Implements openPMD::chunk_assignment::Strategy.
|
overridevirtual |
Implements openPMD::chunk_assignment::Strategy.