54 if(grrows == grcols) {
59 myprocrow(
rhs.myprocrow), myproccol(
rhs.myproccol), myrank(
rhs.myrank)
84 myprocrow =
rhs.myprocrow;
85 myproccol =
rhs.myproccol;
101 return (! (*
this ==
rhs));
126 return ((grcols * myproccol) + myprocrow);
153 MPI_Comm commWorld, rowWorld, colWorld, diagWorld;
161 template <
class IT,
class NT,
class DER>
164 template <
class IT,
class NT>
MPI_Comm GetColWorld() const
bool operator==(const CommGrid &rhs) const
bool OnSameProcRow(int rhsrank)
void OpenDebugFile(std::string prefix, std::ofstream &output) const
MPI_Comm GetWorld() const
MPI_Comm GetRowWorld() const
MPI_Comm & GetDiagWorld()
int GetRank(int rowrank, int colrank)
friend std::shared_ptr< CommGrid > ProductGrid(CommGrid *gridA, CommGrid *gridB, int &innerdim, int &Aoffset, int &Boffset)
bool OnSameProcCol(int rhsrank)
CommGrid & operator=(const CommGrid &rhs)
MPI_Comm GetDiagWorld() const
int GetRank(int diagrank)
CommGrid(const CommGrid &rhs)
bool operator!=(const CommGrid &rhs) const