Published by fvazquez on Tuesday, July 27, 2010

A library for efficient sparse matrix vector product on GPUs
F. Vázquez (1), G. Ortega (1), J.J. Fernández (1,2), E.M. Garzón (1)
(1) Dept. Computer Architecture. Univ. Almeria. 04120 Almeria. Spain.
(2) Centro Nacional de Biotecnología (CSIC). Campus UAM. 28049 Madrid. Spain.

[Copyright Exp:AL-254-11 Reg: 201199901273365]


Sparse matrices are involved in linear systems, eigensystems and partial differential equations from a wide spectrum of scientific and engineering disciplines. Hence, sparse matrix vector product (SpMV) is considered as key operation in engineering and scientific computing. For these applications the optimization of the sparse matrix vector product (SpMV) is very relevant. However, the irregular computation involved in SpMV prevents the optimum exploitation of computational architectures when the sparse matrices are very large. Graphics Processing Units (GPUs) have recently emerged as platforms that yield outstanding acceleration factors. SpMV implementations for GPUs have already appeared on the scene. Recently a new, efficient format for SpMV for GPUs has successfully been introduced and evaluated (ELLRT). This format is based on the format ELLPACKR, which also derives from the well known ELLPACK and allows storage of the sparse matrix in a regular manner. In general, the new format turns out to outperform other formats previously used in scientific computing.

The library spmvELLRT implements efficient sparse matrix vector product on GPUs based on the new approach described in:

Automatic tuning of the sparse matrix vector product on GPUs based on the ELLR-T approach.
Vázquez F, Fernández JJ, Garzón EM.
Parallel Computing. doi: 10.1016/j.parco.2011.08.003, 2011.

A new approach for sparse matrix vector product on NVIDIA GPUs.
F. Vázquez, J.J. Fernández, E.M. Garzón.
Concurrency and Computation: Practice and Experience 23:815-826, 2011.

Improving the performance of the sparse matrix vector product with GPUs.
F. Vázquez, G. Ortega, J.J. Fernández, E.M. Garzón.
Procs. 10th IEEE Intl. Conf. Computer and Information Technology (CIT 2010), pp: 1146-1151, 2010.

Please, cite these articles if you use spmvELLRT in your works.

Please, send me an email (f.vazquez at ual.es) with your name, affiliation and email address. We would like to know who is using the package so that we can have them updated about future versions.

[Binaries for 64bits x86-based platforms under linux]
[Binaries for 32bits x86-based platforms under linux]
[Test matrices]
[libELLRT double precision 32/64bits x86]

If you have problems in using the package, please contact us. Suggestions are also welcome.