/ChainPartitioners.jl

Contiguous sparse matrix partitioners

Primary LanguageJuliaMIT LicenseMIT

ChainPartitioners

Build Status Coverage

This package is a collection of matrix partitioning and reordering routines. ChainPartitioners provides functions to partition graphs with and without first reordering the vertices. Wrapper functions are provided to unify the interface over several external partitioning algorithms. More documentation is incoming, and I welcome your feedback, especially on interface decisions.

Publications

W. Ahrens, “Contiguous Graph Partitioning For Optimal Total Or Bottleneck Communication,” arXiv:2007.16192v4 [cs], Jun. 2021

W. Ahrens and E. Boman, “On Optimal Partitioning For Sparse Matrices In Variable Block Row Format,” arXiv:2005.12414v2 [cs], Nov. 2020

Extras

Because several contiguous partitioners require complex statistics about matrix structure, this package also provides datastructures to lazily compute sparse prefix sums on sparse matrices. There's also a pretty fast implementation of Reverse Cuthill-McKee reordering.