AllToAllReduce(const Op& op_, const Assigner& assigner): op(op_) { for (int gid = 0; gid < assigner.nblocks(); ++gid) { BlockID nbr = { gid, assigner.rank(gid) }; all_neighbors_link.add_neighbor(nbr); } }
void fix(const Assigner& assigner) { for (unsigned i = 0; i < neighbors_.size(); ++i) { neighbors_[i].proc = assigner.rank(neighbors_[i].gid); } }