SoftwareX (Jul 2022)

The Chunks and Tasks Matrix Library

  • Emanuel H. Rubensson,
  • Elias Rudberg,
  • Anastasia Kruchinina,
  • Anton G. Artemov

Journal volume & issue
Vol. 19
p. 101159

Abstract

Read online

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.

Keywords