Strategy that assigns chunks to be read by processes within the same host that produced the chunk. More...
#include <ChunkInfo.hpp>
Public Member Functions | |
| ByHostname (std::unique_ptr< Strategy > withinNode) | |
| PartialAssignment | 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< PartialStrategy > | clone () const override |
Public Member Functions inherited from openPMD::chunk_assignment::PartialStrategy | |
| PartialAssignment | assign (ChunkTable table, RankMeta const &in, RankMeta const &out, size_t my_rank, size_t num_ranks) |
| Assign chunks to be loaded to reading processes. | |
Strategy that assigns chunks to be read by processes within the same host that produced the chunk.
The distribution strategy within one such chunk can be flexibly chosen.
|
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::PartialStrategy.
|
overridevirtual |
Implements openPMD::chunk_assignment::PartialStrategy.