Strategy that purposefully fails when the PartialAssignment has leftover chunks. More...
#include <ChunkInfo.hpp>
Public Member Functions | |
| 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. | |
Strategy that purposefully fails when the PartialAssignment has leftover chunks.
Useful as second phase in FromPartialStrategy to assert that the first pass of the strategy catches all blocks, e.g. to assert that all chunks can be assigned within the same compute node.
|
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.