  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.
