Skip to content

Grid Partitioners

Sam Reeve edited this page Sep 12, 2024 · 2 revisions

Overview

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: Partitioner

Implementation

Examples

Usage

    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

Clone this wiki locally