Scotch module
Graph partitioning through the Scotch integration.
Scotch::Partitioner partitioner(mesh); partitioner.partition(numRanks);
Partitioner builds a graph-based partition of mesh cells using Scotch. The resulting cell assignments feed mesh sharding and distribution, helping divide finite element workloads across MPI ranks while limiting connections between partitions.
The primary class is Scotch::Partitioner, which partitions cells of a local mesh into a given number of parts. The resulting partition can be used with the Sharder to distribute the mesh for MPI computations.
#include <Rodin/Scotch/MeshPartitioner.h> Scotch::Partitioner partitioner(mesh); partitioner.partition(numRanks); // partition into numRanks parts size_t part = partitioner.getPartition(cellIndex);
Classes
-
template<class T, class FuncName>class Exception
- Exception type for errors reported by Scotch wrappers.
- class Partitioner
- Mesh partitioner implemented with the SCOTCH library.