|
| DimBlockPartitioner () |
| Default constructor (automatically partitioned in all dimensions).
|
|
| DimBlockPartitioner (const int dim) |
| Constructor for NumSpaceDim-1 (1d for 2d system).
|
|
| DimBlockPartitioner (const int dim_1, const int dim_2) |
| Constructor for 1d decomposition (3d systems only).
|
|
std::array< int, NumSpaceDim > | ranksPerDimension (MPI_Comm comm, const std::array< int, NumSpaceDim > &) const override |
| Get the MPI ranks per dimension.
|
|
void | ownedCellInfo (MPI_Comm cart_comm, const std::array< int, num_space_dim > &global_cells_per_dim, std::array< int, num_space_dim > &owned_num_cell, std::array< int, num_space_dim > &global_cell_offset) const override |
| Get the owned number of cells and the global cell offset of the current MPI rank.
|
|
std::array< int, num_space_dim > | ownedCellsPerDimension (MPI_Comm cart_comm, const std::array< int, num_space_dim > &global_cells_per_dim) const |
| Get the owned number of cells of the current MPI rank.
|
|
virtual std::array< int, num_space_dim > | ranksPerDimension (MPI_Comm comm, const std::array< int, num_space_dim > &global_cells_per_dim) const =0 |
| Get the number of MPI ranks in each dimension of the grid.
|
|
template<std::size_t NumSpaceDim>
class Cabana::Grid::DimBlockPartitioner< NumSpaceDim >
Dimension-only partitioner.
- Template Parameters
-
NumSpaceDim | Spatial dimension. Use MPI to compute the most uniform block distribution possible (i.e. the one that has the minimal number of neighbor communication messages in halo exchange). This distribution is independent of mesh parameters - only the size of the communicator is considered. Depending on the problem, this may not be the optimal partitioning depending on cell-counts and workloads as the reduced number of MPI messages may be overshadowed by the load imbalance during computation. |