Advertisement

Implementing Blocked Sparse Matrix-Vector Multiplication on NVIDIA GPUs

  • Alexander Monakov
  • Arutyun Avetisyan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5657)

Abstract

We discuss implementing blocked sparse matrix-vector multiplication for NVIDIA GPUs. We outline an algorithm and various optimizations, and identify potential future improvements and challenging tasks. In comparison with previously published implementation, our implementation is faster on matrices having many high fill-ratio blocks but slower on matrices with low number of non-zero elements per row.

Keywords

Shared Memory Memory Bandwidth Thread Block Sparse Matrice Single Precision 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    NVIDIA Corporation: NVIDIA CUDA Programming Guide 2.1 (2008)Google Scholar
  2. 2.
    Volkov, V., Demmel, J.W.: Benchmarking GPUs to tune dense linear algebra. In: SC 2008: Proceedings of the 2008 ACM/IEEE conference on Supercomputing, pp. 1–11. IEEE Press, Piscataway (2008)Google Scholar
  3. 3.
    Collange, S., Defour, D., Parello, D.: Barra, a modular functional GPU simulator for GPGPU. Technical report, CCSd/HAL: e-articles server (based on gBUS), France (2009), http://hal.ccsd.cnrs.fr/oai/oai.php
  4. 4.
    Vuduc, R.W.: Automatic performance tuning of sparse matrix kernels. Technical report (2003)Google Scholar
  5. 5.
    Williams, S., Oliker, L., Vuduc, R., Shalf, J., Yelick, K., Demmel, J.: Optimization of sparse matrix-vector multiplication on emerging multicore platforms. In: Proceedings of SC 2007 (2007)Google Scholar
  6. 6.
    Bell, N., Garland, M.: Efficient sparse matrix-vector multiplication on CUDA. NVIDIA Technical Report NVR-2008-004 (2008)Google Scholar
  7. 7.
    Buatois, L., Caumon, G., Lévy, B.: Concurrent number cruncher: An efficient sparse linear solver on the GPU. In: Perrott, R., Chapman, B.M., Subhlok, J., de Mello, R.F., Yang, L.T. (eds.) HPCC 2007. LNCS, vol. 4782, pp. 358–371. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Davis, T.A.: University of Florida sparse matrix collection. NA Digest 92 (1994)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2009

Authors and Affiliations

  • Alexander Monakov
    • 1
  • Arutyun Avetisyan
    • 1
  1. 1.Institute for System Programming of RASMoscowRussia

Personalised recommendations