ParMETIS is a high-performance, MPI-based C library developed at the University of Minnesota for partitioning graphs and finite element meshes in parallel, as well as computing fill-reducing orderings for sparse matrices. It implements multilevel recursive bisection, multilevel k-way, and multi-constraint partitioning schemes designed for distributed-memory parallel systems.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/KarypisLab/ParMETIS/llms.txt
Use this file to discover all available pages before exploring further.
Installation
Build and install ParMETIS from source with GKlib and METIS dependencies
Quickstart
Partition your first graph in parallel with a working MPI example
API Reference
Complete reference for all ParMETIS public API functions
Concepts
Understand graph representations, algorithms, and data structures
What ParMETIS does
ParMETIS operates on graphs and meshes distributed across MPI processes. Each process owns a contiguous range of vertices or elements, and ParMETIS coordinates inter-process communication to produce high-quality partitionings with low edge cuts and balanced partition weights.Graph partitioning
k-way and geometry-assisted partitioning for distributed graphs
Mesh partitioning
Direct partitioning of finite element meshes and dual graph construction
Adaptive repartitioning
Dynamic load balancing for evolving meshes in adaptive simulations
Matrix ordering
Nested dissection orderings to minimize fill in sparse direct solvers
Key capabilities
Multi-constraint partitioning
Balance multiple vertex weight constraints simultaneously for multi-physics codes
Configuration reference
Build options, data type widths, and runtime options array