-
Notifications
You must be signed in to change notification settings - Fork 50
Grid Partitioners
Sam Reeve edited this page Sep 12, 2024
·
2 revisions
The partitioner defines how the global mesh is decomposed into separate domains per MPI process. They can be computed as uniformly as possible or manually with user-chosen ranks per spatial dimension.
The figure below shows an example partion into 8 MPI ranks:
Cabana::Grid::DimBlockPartitioner<3> dim_block_partitioner;
int comm_size;
MPI_Comm_size( MPI_COMM_WORLD, &comm_size );
std::array<int, 3> input_ranks_per_dim = { comm_size, 1, 1 };
Cabana::Grid::ManualBlockPartitioner<3> manual_partitioner( input_ranks_per_dim );
This is part of the Programming Guide series
Cabana - A Co-Designed Library for Exascale Particle Simulations