A sparsity-aware distributed-memory algorithm for sparse-sparse matrix multiplication

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Hong, Yuxi, Buluc, Aydin
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866914924855296000
author Hong, Yuxi
Buluc, Aydin
author_facet Hong, Yuxi
Buluc, Aydin
contents Multiplying two sparse matrices (SpGEMM) is a common computational primitive used in many areas including graph algorithms, bioinformatics, algebraic multigrid solvers, and randomized sketching. Distributed-memory parallel algorithms for SpGEMM have mainly focused on sparsity-oblivious approaches that use 2D and 3D partitioning. Sparsity-aware 1D algorithms can theoretically reduce communication by not fetching nonzeros of the sparse matrices that do not participate in the multiplication. Here, we present a distributed-memory 1D SpGEMM algorithm and implementation. It uses MPI RDMA operations to mitigate the cost of packing/unpacking submatrices for communication, and it uses a block fetching strategy to avoid excessive fine-grained messaging. Our results show that our 1D implementation outperforms state-of-the-art 2D and 3D implementations within CombBLAS for many configurations, inputs, and use cases, while remaining conceptually simpler.
format Preprint
id arxiv_https___arxiv_org_abs_2408_14558
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A sparsity-aware distributed-memory algorithm for sparse-sparse matrix multiplication
Hong, Yuxi
Buluc, Aydin
Distributed, Parallel, and Cluster Computing
Multiplying two sparse matrices (SpGEMM) is a common computational primitive used in many areas including graph algorithms, bioinformatics, algebraic multigrid solvers, and randomized sketching. Distributed-memory parallel algorithms for SpGEMM have mainly focused on sparsity-oblivious approaches that use 2D and 3D partitioning. Sparsity-aware 1D algorithms can theoretically reduce communication by not fetching nonzeros of the sparse matrices that do not participate in the multiplication. Here, we present a distributed-memory 1D SpGEMM algorithm and implementation. It uses MPI RDMA operations to mitigate the cost of packing/unpacking submatrices for communication, and it uses a block fetching strategy to avoid excessive fine-grained messaging. Our results show that our 1D implementation outperforms state-of-the-art 2D and 3D implementations within CombBLAS for many configurations, inputs, and use cases, while remaining conceptually simpler.
title A sparsity-aware distributed-memory algorithm for sparse-sparse matrix multiplication
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2408.14558