|
| template<class Decomposer > |
| | RegularBroadcastPartners (const Decomposer &decomposer, int k, bool contiguous=true) |
| | contiguous parameter indicates whether to match partners contiguously or in a round-robin fashion; contiguous is useful when data needs to be united; round-robin is useful for vector-"halving" More...
|
| |
| | RegularBroadcastPartners (const DivisionVector &divs, const KVSVector &kvs, bool contiguous=true) |
| |
|
size_t | rounds () const |
| | returns total number of rounds
|
| |
|
int | size (int round) const |
| | returns size of a group of partners in a given round
|
| |
|
int | dim (int round) const |
| | returns dimension (direction of partners in a regular grid) in a given round
|
| |
|
bool | active (int round, int gid, const Master &m) const |
| | returns whether a given block in a given round has dropped out of the merge yet or not
|
| |
|
int | parent_round (int round) const |
| | returns what the current round would be in the first or second parent merge reduction
|
| |
|
void | incoming (int round, int gid, std::vector< int > &partners, const Master &m) const |
| |
|
void | outgoing (int round, int gid, std::vector< int > &partners, const Master &m) const |
| |
| template<class Decomposer > |
| | RegularMergePartners (const Decomposer &decomposer, int k, bool contiguous=true) |
| |
| | RegularMergePartners (const DivisionVector &divs, const KVSVector &kvs, bool contiguous=true) |
| |
|
bool | active (int round, int gid, const Master &) const |
| |
|
void | incoming (int round, int gid, std::vector< int > &partners, const Master &) const |
| |
|
void | outgoing (int round, int gid, std::vector< int > &partners, const Master &) const |
| |
|
template<class Decomposer_ > |
| | RegularPartners (const Decomposer_ &decomposer, int k, bool contiguous=true) |
| |
|
| RegularPartners (const DivisionVector &divs, const KVSVector &kvs, bool contiguous=true) |
| |
|
size_t | rounds () const |
| |
|
int | size (int round) const |
| |
|
int | dim (int round) const |
| |
|
int | step (int round) const |
| |
|
const DivisionVector & | divisions () const |
| |
|
const KVSVector & | kvs () const |
| |
|
bool | contiguous () const |
| |
|
void | fill (int round, int gid, std::vector< int > &partners) const |
| |
|
int | group_position (int round, int c, int step) const |
| |