Skip to main content

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.

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.

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
ParMETIS requires GKlib and METIS as dependencies. Install both before building ParMETIS.

Build docs developers (and LLMs) love