The Chunks and Tasks Matrix Library

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...

Full description

Saved in:
Bibliographic Details
Published in:SoftwareX Vol. 19; p. 101159
Main Authors: Rubensson, Emanuel H., Rudberg, Elias, Kruchinina, Anastasia, Artemov, Anton G.
Format: Journal Article
Language:English
Published: Elsevier B.V 01.07.2022
Elsevier
Subjects:
ISSN:2352-7110, 2352-7110
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
ISSN:2352-7110
2352-7110
DOI:10.1016/j.softx.2022.101159