Published January 1, 2022 | Version v1
Conference paper Open

Mixed and Multi-Precision SpMV for GPUs with Row-wise Precision Selection

  • 1. Koc Univ, Dept Comp Sci & Engn, Istanbul, Turkey
  • 2. Sabanci Univ, Dept Comp Sci & Engn, Istanbul, Turkey

Description

Sparse Matrix-Vector Multiplication (SpMV) is one of the key memory-bound kernels commonly used in industrial and scientific applications. To improve its data movement and benefit from higher compute rates, there are several efforts to utilize mixed precision on SpMV. Most of the prior-art focus on performing the entire SpMV in single-precision within a bigger context of an iterative solver (e.g., CG, GMRES). In this work, we are interested in a more fine-grained mixed-precision SpMV, where the level of precision is decided for each element in the matrix to be used in a single operation. We extend an existing entry-wise precision based approach by deciding precisions per row, motivated by the granularity of parallelism on a GPU where groups of threads process rows in CSR-based matrices. We propose mixed-precision CSR storage methods with row permutations and describe their greater efficiency and load-balancing compared to the existing method. We also consider a multi-precision case where single and double precision copies of the matrix are stored priorly and further extend our mixed-precision SpMV approach to comply with it. As such, we leverage a mixed-precision SpMV to obtain a multi-precision Jacobi method which is faster than yet almost as accurate as double-precision Jacobi implementation, and further evaluate a multi-precision Cardiac modeling algorithm. We demonstrate the effectiveness of the proposed SpMV methods on an extensive dataset of real-valued large sparse matrices from the SuiteSparse Matrix Collection using an NVIDIA V100 GPU.

Files

bib-fad4e281-1524-486d-92c5-32375dbbf44b.txt

Files (247 Bytes)

Name Size Download all
md5:7e8811d987d55d256d1b9926141a8a65
247 Bytes Preview Download