Parallel Optimization for Sparse Matrix–Vector on GPU

  • Meng Jia Yin
  • Xian Bin Xu
  • Hua Chen
  • Shui Bing He
  • Jing Hu
Conference paper
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 217)


Graphics processing units (GPUs) have been used in the general-purpose computation field. Sparse matrix–vector multiplication (SpMV) algorithm is one of the most important scientific computing kernel algorithms. In this paper, we discuss implementing optimizing sparse matrix–vector multiplication on GPUs using CUDA programming model. We used methods and strategy which including mapping thread, merging access, reusing data, and avoiding the branch. The experimental results show that the optimizations strategy to improve SpMV performance.


Sparse matrix–vector multiplication (SpMV) Compute unified device architecture (CUDA) Graphics processing unit (GPU) Performance optimizations strategy (POS) 


  1. 1.
    Shereshevsky M, Cukic B, Crowel J, et al (2003) Software aging and multifractality of memory resources proceedings of DSN 2003, vol 21. IEEE Computer Society, USA, pp 721–730Google Scholar
  2. 2.
    V’azquez F, Garz’on EM, Fern’andez JJ (2010) A matrix approach to tomographic reconstruction and its implementation on GPUs. J Struct Biol 170:146–151CrossRefGoogle Scholar
  3. 3.
    Bik AJC, Wijshoff HAG (1996) Automatic data structure selection and transformation for sparse matrix computations. IEEE Trans Parallel Distrib Syst 7(2):109–126CrossRefGoogle Scholar
  4. 4.
    Im EJ, Yelick K (2010) Optimizing sparse matrix-vector multiplication on SMPs, vol 21(04). Computer Science Division, University of California, Berkeley, pp 56–58Google Scholar
  5. 5.
    Lee BC, Yelick RW, Demmel JW, Katherine A (2006) Yelick performance model for evaluation and automatic tuning of symmetric sparse matrix-vector multiply, vol 14(03). Computer Science Division, University of California, Berkeley, pp 79–84Google Scholar
  6. 6.
    Fatahaian K, Sugerman J, Hanrahan P (2004) Understanding the efficiency of GPU algorithms for matrix-matrix multiplications. In: Graphics hardware, vol 04, pp 133–138 Google Scholar
  7. 7.
    Bell N, Garland M (2008) Efficient sparse matrix-vector multiplication on CUDA NVIDIA technical report NVR-20080004, NVIDIA CorporationGoogle Scholar
  8. 8.
    Baskaran MM, Bordawekar R (2009) Optimizing sparse matrix-vector multiplication on GPUs. IBM research report RC24704 04:5405–5408Google Scholar
  9. 9.
    Chen B (2010) Research on performance optimization of heterogeneous platform based on CPU-GPU and multicore parallel programming model, University of Science and Technology of China, Anhui, pp 30–45Google Scholar
  10. 10.
    Shahnaz R, Usman A, Chugtai IR (2011) Review of storage techniques for sparse matrices. Pakistan Inst Eng Appl Sci 9:118–123Google Scholar
  11. 11.
    Barrett R et al (1994) Templates for the solution of linear systems: building blocks for iterative methods, vol 35. SIAM Press, Philadelphia, pp 623–627CrossRefGoogle Scholar
  12. 12.
    Chen H (2012) Parallel technology for implementing sparse matrix vector on GPU, vol 11. School of Computer. Wuhan University, Wuhan, pp 44–47Google Scholar
  13. 13.
    Williams S et al (2009) Optimization of sparse matrix-vector multiplication on emerging multicore platforms. Parallel Comput 35(3):178–194CrossRefGoogle Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Meng Jia Yin
    • 1
    • 2
  • Xian Bin Xu
    • 1
    • 3
  • Hua Chen
    • 4
  • Shui Bing He
    • 1
    • 5
  • Jing Hu
    • 1
  1. 1.School of ComputerWuhan UniversityWuhanPeople’s Republic of China
  2. 2.School of Computer and Information ScienceHubei Engineering UniversityXiaoGanPeople’s Republic of China
  3. 3.School of Computer ScienceWuhan Donghu UniversityWuhanPeople’s Republic of China
  4. 4.Agricultural Bank of China Software Development Center Guangzhou Sub-centerPanyu, GuangzhouPeople’s Republic of China
  5. 5.Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of EducationBeijingPeople’s Republic of China

Personalised recommendations