The Chunks and Tasks Matrix Library 2.0
Emanuel H. Rubensson, Elias Rudberg, Anastasia Kruchinina, Anton G., Artemov

TL;DR
This paper introduces a C++ library for parallel sparse matrix computations using a novel data structure and programming model, enabling efficient distributed processing and dynamic load balancing across various matrix sparsity patterns.
Contribution
The library combines sparse quadtree representation with the Chunks and Tasks model to improve parallel sparse matrix algorithms and dynamic load balancing.
Findings
Successfully demonstrates dynamic load balancing across different matrix structures
Achieves efficient distributed memory parallelization of sparse matrix algorithms
Utilizes the CHT-MPI 2.0 runtime for dynamic data locality exploitation
Abstract
We present a C++ header-only parallel sparse matrix library, based on sparse quadtree representation of matrices using the Chunks and Tasks programming model. The library implements a number of sparse matrix algorithms for distributed memory parallelization that are able to dynamically exploit data locality to avoid movement of data. This is demonstrated for the example of block-sparse matrix-matrix multiplication applied to three sequences of matrices with different nonzero structure, using the CHT-MPI 2.0 runtime library implementation of the Chunks and Tasks model. The runtime library succeeds to dynamically load balance the calculation regardless of the sparsity structure.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Interconnection Networks and Systems
