Compression and load balancing for efficient sparse matrix‐vector product on multicore processors and graphics processing units
Citations Over TimeTop 10% of 2021 papers
Abstract
Summary We contribute to the optimization of the sparse matrix‐vector product by introducing a variant of the coordinate sparse matrix format that balances the workload distribution and compresses both the indexing arrays and the numerical information. Our approach is multi‐platform, in the sense that the realizations for (general‐purpose) multicore processors as well as graphics accelerators (GPUs) are built upon common principles, but differ in the implementation details, which are adapted to avoid thread divergence in the GPU case or maximize compression element‐wise (i.e., for each matrix entry) for multicore architectures. Our evaluation on the two last generations of NVIDIA GPUs as well as Intel and AMD processors demonstrate the benefits of the new kernels when compared with the optimized implementations of the sparse matrix‐vector product in NVIDIA's cuSPARSE and Intel's MKL, respectively.
Related Papers
- Data Parallel Three-Dimensional Cahn-Hilliard Field Equation Simulation on GPUs with CUDA(2009)
- → Comparison of OpenMP & OpenCL Parallel Processing Technologies(2012)20 cited
- → Parallelized CCHE2D flow model with CUDA Fortran on Graphics Processing Units(2013)12 cited
- → Atmospheric Model Cluster Performance Evaluation on Hybrid MPI/OpenMP/Cuda Programming Model Platform(2012)1 cited
- → Introduction to GPU Kernels and Hardware(2022)