8 #ifndef DBM_DISTRIBUTION_H
9 #define DBM_DISTRIBUTION_H
46 const int nrows,
const int ncols,
47 const int row_dist[nrows],
const int col_dist[ncols]);
66 const int **row_dist);
73 const int **col_dist);
80 const int row,
const int col);
int dbm_distribution_stored_coords(const dbm_distribution_t *dist, const int row, const int col)
Returns the MPI rank on which the given block should be stored.
void dbm_distribution_new(dbm_distribution_t **dist_out, const int fortran_comm, const int nrows, const int ncols, const int row_dist[nrows], const int col_dist[ncols])
Creates a new two dimensional distribution.
void dbm_distribution_hold(dbm_distribution_t *dist)
Increases the reference counter of the given distribution.
void dbm_distribution_release(dbm_distribution_t *dist)
Decreases the reference counter of the given distribution.
void dbm_distribution_row_dist(const dbm_distribution_t *dist, int *nrows, const int **row_dist)
Returns the rows of the given distribution.
void dbm_distribution_col_dist(const dbm_distribution_t *dist, int *ncols, const int **col_dist)
Returns the columns of the given distribution.
Internal struct for storing a one dimensional distribution.
Internal struct for storing a two dimensional distribution.