Abstract
Sparse matrix computations often arise in real-world applications, and sparse matrix-vector multiplication (SpMV) is one of the key operations in linear algebra. At the same time, single and double precision arithmetic, which is the most common in scientific computing and natively supported by hardware and programming languages, introduces round-off errors that may affect the SpMV results and in some cases cause serious problems. In this paper we implement SpMV kernels for graphics processing units using available software libraries that support multiple-precision computation. We use the Jagged Diagonal (JAD) sparse matrix storage format, which is very close to CSR in terms of memory consumption, but provides efficient accesses to nonzero matrix entries. We evaluate the implemented kernels on NVIDIA RTX 2080 for various sparse matrices from the SuiteSparse Matrix Collection.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Ahmed, N., Mateev, N., Pingali, K., Stodghill, P.: A framework for sparse matrix code synthesis from high-level specifications. In: SC 2000: Proceedings of the 2000 ACM/IEEE Conference on Supercomputing, pp. 58–58 (2000). https://doi.org/10.1109/SC.2000.10033
Bell, N., Garland, M.: Implementing sparse matrix-vector multiplication on throughput-oriented processors. In: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, Portland, OR, USA, pp. 1–11, November 2009. https://doi.org/10.1145/1654059.1654078
Furuichi, M., May, D.A., Tackley, P.J.: Development of a stokes flow solver robust to large viscosity jumps using a Schur complement approach with mixed precision arithmetic. J. Comput. Phys. 230(24), 8835–8851 (2011). https://doi.org/10.1016/j.jcp.2011.09.007
Hida, Y., Li, X.S., Bailey, D.H.: Algorithms for quad-double precision floating point arithmetic. In: Proceedings of the 15th IEEE Symposium on Computer Arithmetic, Vail, CO, USA, pp. 155–162, June 2001. https://doi.org/10.1109/ARITH.2001.930115
Hishinuma, T., Hasegawa, H., Tanaka, T.: SIMD parallel sparse matrix-vector and transposed-matrix-vector multiplication in DD precision. In: Dutra, I., Camacho, R., Barbosa, J., Marques, O. (eds.) VECPAR 2016. LNCS, vol. 10150, pp. 21–34. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-61982-8_4
Isupov, K., Knyazkov, V.: Multiple-precision BLAS library for graphics processing units. In: Voevodin, V., Sobolev, S. (eds.) RuSCDays 2020. CCIS, vol. 1331, pp. 37–49. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64616-5_4
Joldes, M., Muller, J.-M., Popescu, V., Tucker, W.: CAMPARY: Cuda multiple precision arithmetic library and applications. In: Greuel, G.-M., Koch, T., Paule, P., Sommese, A. (eds.) ICMS 2016. LNCS, vol. 9725, pp. 232–240. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42432-3_29
Li, R., Saad, Y.: GPU-accelerated preconditioned iterative linear solvers. J. Supercomput. 63(2), 443–466 (2013). https://doi.org/10.1007/s11227-012-0825-3
Lu, M., He, B., Luo, Q.: Supporting extended precision on graphics processors. In: Sixth International Workshop on Data Management on New Hardware (DaMoN 2010), Indianapolis, Indiana, USA, pp. 19–26, June 2010. https://doi.org/10.1145/1869389.1869392
Masui, K., Ogino, M., Liu, L.: Multiple-precision iterative methods for solving complex symmetric electromagnetic systems. In: van Brummelen, H., Corsini, A., Perotto, S., Rozza, G. (eds.) Numerical Methods for Flows. LNCSE, vol. 132, pp. 321–329. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-30705-9_28
Nakayama, T., Takahashi, D.: Implementation of multiple-precision floating-point arithmetic library for GPU computing. In: Proceedings of the 23rd IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS 2011), Dallas, USA, pp. 343–349, December 2011. https://doi.org/10.2316/P.2011.757-041
Omondi, A., Premkumar, B.: Residue Number Systems: Theory and Implementation. Imperial College Press, London (2007)
Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. SIAM, Philadelphia (2003)
Saito, T., Ishiwata, E., Hasegawa, H.: Analysis of the GCR method with mixed precision arithmetic using QuPAT. J. Comput. Sci. 3(3), 87–91 (2012)
Acknowledgements
This work was funded by the Russian Science Foundation grant number 20-71-00046.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Isupov, K., Babeshko, I. (2021). JAD-Based SpMV Kernels Using Multiple-Precision Libraries for GPUs. In: Voevodin, V., Sobolev, S. (eds) Supercomputing. RuSCDays 2021. Communications in Computer and Information Science, vol 1510. Springer, Cham. https://doi.org/10.1007/978-3-030-92864-3_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-92864-3_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-92863-6
Online ISBN: 978-3-030-92864-3
eBook Packages: Computer ScienceComputer Science (R0)