|
| grid () |
| Create a new grid object. Does not initialize any BLACS or MPI data.
|
|
| grid (const gridshape gridtype) |
| Create a new grid object by initializing a new BLACS process grid. More...
|
|
void | set (const int blacs_context) |
| Create a grid object from an existing BLACS process grid. More...
|
|
void | exit () |
| Exits the BLACS grid, but does not shutdown BLACS/MPI.
|
|
void | finalize (const bool mpi_continue=false) |
| Shuts down BLACS, and optionally MPI. More...
|
|
void | printf (const int row, const int col, const char *fmt,...) const |
| Helper wrapper around the C standard I/O 'printf()' function. Conceptually similar to guarding a normal 'printf()' function with a check for 'row==myrow() && col==mycol()'. More...
|
|
void | info () const |
| Print some brief information about the BLACS grid. The printing is done by row 0 and col 0.
|
|
bool | rank0 () const |
| Check if the executing process is rank 0, i.e., if the process row and column are 0.
|
|
bool | ingrid () const |
| Check if the executing process is in the grid, i.e., if neither the process row nor column are -1.
|
|
void | barrier (const char scope='A') const |
| Execute a barrier across the specified scope of the BLACS grid. More...
|
|
bool | valid_grid () const |
| Is the BLACS grid valid?
|
|
|
void | send (const int m, const int n, const int *x, const int rdest=0, const int cdest=0) const |
| Point-to-point send. Should be matched by a corresponding 'recv' call. More...
|
|
void | send (const int m, const int n, const float *x, const int rdest=0, const int cdest=0) const |
|
void | send (const int m, const int n, const double *x, const int rdest=0, const int cdest=0) const |
|
void | send (const int m, const int n, const int ldx, const int *x, const int rdest=0, const int cdest=0) const |
|
void | send (const int m, const int n, const int ldx, const float *x, const int rdest=0, const int cdest=0) const |
|
void | send (const int m, const int n, const int ldx, const double *x, const int rdest=0, const int cdest=0) const |
|
|
void | recv (const int m, const int n, int *x, const int rsrc=0, const int csrc=0) const |
| Point-to-point receive. Should be matched by a corresponding 'send' call. More...
|
|
void | recv (const int m, const int n, float *x, const int rsrc=0, const int csrc=0) const |
|
void | recv (const int m, const int n, double *x, const int rsrc=0, const int csrc=0) const |
|
void | recv (const int m, const int n, const int ldx, int *x, const int rsrc=0, const int csrc=0) const |
|
void | recv (const int m, const int n, const int ldx, float *x, const int rsrc=0, const int csrc=0) const |
|
void | recv (const int m, const int n, const int ldx, double *x, const int rsrc=0, const int csrc=0) const |
|
|
void | allreduce (const int m, const int n, int *x, const char scope='A', const blacsops op=BLACS_SUM) const |
| Sum reduce operation across all processes in the grid. More...
|
|
void | allreduce (const int m, const int n, float *x, const char scope='A', const blacsops op=BLACS_SUM) const |
|
void | allreduce (const int m, const int n, double *x, const char scope='A', const blacsops op=BLACS_SUM) const |
|
|
void | reduce (const int m, const int n, int *x, const char scope='A', const blacsops op=BLACS_SUM, const int rdest=0, const int cdest=0) const |
| Sum reduce operation. More...
|
|
void | reduce (const int m, const int n, float *x, const char scope='A', const blacsops op=BLACS_SUM, const int rdest=0, const int cdest=0) const |
|
void | reduce (const int m, const int n, double *x, const char scope='A', const blacsops op=BLACS_SUM, const int rdest=0, const int cdest=0) const |
|
|
void | bcast (const int m, const int n, int *x, const char scope='A', const int rsrc=0, const int csrc=0) const |
| Broadcast. More...
|
|
void | bcast (const int m, const int n, float *x, const char scope='A', const int rsrc=0, const int csrc=0) const |
|
void | bcast (const int m, const int n, double *x, const char scope='A', const int rsrc=0, const int csrc=0) const |
|
|
int | ictxt () const |
|
int | nprocs () const |
| The total number of processes bound to the BLACS context.
|
|
int | nprow () const |
| The number of processes rows in the BLACS context.
|
|
int | npcol () const |
| The number of processes columns in the BLACS context.
|
|
int | myrow () const |
| The process row (0-based index) of the calling process.
|
|
int | mycol () const |
| The process column (0-based index) of the calling process.
|
|
2-dimensional MPI process grid.