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.
翻译:我们展示了一个 C+++ 仅以信头为主的平行分散矩阵库, 其基础是使用 Chunks 和 Tables 编程模型对矩阵进行稀疏的四边代表。 该图书馆使用分布式记忆平行化的分散矩阵算法, 能够动态地利用数据位置来避免数据移动。 举例来说, 运行时图书馆成功地动态地装载计算平衡, 而不考虑宽度结构 。 这表现为块状矩阵矩阵矩阵乘法, 适用于三组非零结构的矩阵, 使用 CHT- MPI 2. 0 运行时库实施 Chunks 和 Tables 模型。