skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Performance optimization, modeling and analysis of sparse matrix-matrix products on multi-core and many-core processors

Journal Article · · Parallel Computing
 [1];  [2];  [3];  [4]
  1. Tokyo Inst. of Technology (Japan)
  2. RIKEN Center for Computational Science, Kobe (Japan)
  3. Indiana Univ., Bloomington, IN (United States)
  4. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)

Sparse matrix-matrix multiplication (SpGEMM) is a computational primitive that is widely used in areas ranging from traditional numerical applications to recent big data analysis and machine learning. Although many SpGEMM algorithms have been proposed, hardware specific optimizations for multi- and many-core processors are lacking and a detailed analysis of their performance under various use cases and matrices is not available. In this work, we firstly identify and mitigate multiple bottlenecks with memory management and thread scheduling on Intel Xeon Phi (Knights Landing or KNL). Specifically targeting many-core processors, we develop a hash-table-based algorithm and optimize a heap-based shared-memory SpGEMM algorithm. We examine their performance together with other publicly available codes. Different from the literature, our evaluation also includes use cases that are representative of real graph algorithms, such as multi-source breadth-first search or triangle counting. Our hash-table and heap-based algorithms are showing significant speedups from libraries in the majority of the cases while different algorithms dominate the other scenarios with different matrix size, sparsity, compression factor and operation type. We wrap up in-depth evaluation results and make a recipe to give the best SpGEMM algorithm for target scenario. We build the performance model for hash-table and heap-based algorithms, which supports the recipe. A critical finding is that hash-table-based SpGEMM gets a significant performance boost if the nonzeros are not required to be sorted within each row of the output matrix. Finally, we integrate our implementations into a large-scale protein clustering code named HipMCL, accelerating its SpGEMM kernel by up to 10X and achieving an overall performance boost for the whole HipMCL application by 2.6X.

Research Organization:
Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States). National Energy Research Scientific Computing Center (NERSC)
Sponsoring Organization:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR); Japan Science and Technology Agency (JST); USDOE National Nuclear Security Administration (NNSA)
Grant/Contract Number:
AC02-05CH11231; JPMJCR1303; JPMJCR1687
OSTI ID:
1559813
Alternate ID(s):
OSTI ID: 1692084
Journal Information:
Parallel Computing, Vol. 90, Issue C; ISSN 0167-8191
Publisher:
ElsevierCopyright Statement
Country of Publication:
United States
Language:
English
Citation Metrics:
Cited by: 16 works
Citation information provided by
Web of Science

References (12)

HipMCL: a high-performance parallel implementation of the Markov clustering algorithm for large-scale networks journal January 2018
Near linear time algorithm to detect community structures in large-scale networks journal September 2007
Reducing Communication Costs for Sparse Matrix Multiplication within Algebraic Multigrid journal January 2016
Solvers for $\mathcal{O} (N)$ Electronic Structure in the Strong Scaling Limit journal January 2016
Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition journal September 1978
Sparse Matrices in MATLAB: Design and Implementation journal January 1992
Optimizing Sparse Matrix—Matrix Multiplication for the GPU journal October 2015
GPU-Accelerated Sparse Matrix-Matrix Multiplication by Iterative Row Merging journal January 2015
ViennaCL---Linear Algebra Library for Multi- and Many-Core Architectures journal January 2016
Benchmarking optimization software with performance profiles journal January 2002
The Combinatorial BLAS: design, implementation, and applications journal May 2011
Ternary Sparse Matrix Representation for Volumetric Mesh Subdivision and Processing on GPUs journal August 2017

Cited By (4)

The parallelism motifs of genomic data analysis
  • Yelick, Katherine; Buluç, Aydın; Awan, Muaaz
  • Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, Vol. 378, Issue 2166 https://doi.org/10.1098/rsta.2019.0394
journal January 2020
Bandwidth-Optimized Parallel Algorithms for Sparse Matrix-Matrix Multiplication using Propagation Blocking preprint January 2020
Distributed Many-to-Many Protein Sequence Alignment using Sparse Matrices preprint January 2020
Communication-Avoiding and Memory-Constrained Sparse Matrix-Matrix Multiplication at Extreme Scale preprint January 2020

Similar Records

High-Performance Sparse Matrix-Matrix Products on Intel KNL and Multicore Architectures
Conference · Mon Aug 13 00:00:00 EDT 2018 · OSTI ID:1559813

Storage-Intensive Supercomputing Benchmark Study
Technical Report · Tue Oct 30 00:00:00 EDT 2007 · OSTI ID:1559813

Communication-Avoiding and Memory-Constrained Sparse Matrix-Matrix Multiplication at Extreme Scale
Journal Article · Mon May 17 00:00:00 EDT 2021 · Proceedings - IEEE International Parallel and Distributed Processing Symposium (IPDPS) · OSTI ID:1559813