{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,2]],"date-time":"2026-07-02T23:45:29Z","timestamp":1783035929009,"version":"3.54.6"},"reference-count":32,"publisher":"SAGE Publications","issue":"3","license":[{"start":{"date-parts":[[2021,1,29]],"date-time":"2021-01-29T00:00:00Z","timestamp":1611878400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"funder":[{"DOI":"10.13039\/501100010198","name":"Ministerio de Econom\u00eda, Industria y Competitividad, Gobierno de Espa\u00f1a","doi-asserted-by":"publisher","award":["TIN2017-82972-R"],"award-info":[{"award-number":["TIN2017-82972-R"]}],"id":[{"id":"10.13039\/501100010198","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["journals.sagepub.com"],"crossmark-restriction":true},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2021,5]]},"abstract":"<jats:p>More than 10 years of research related to the development of efficient GPU routines for the sparse matrix-vector product (SpMV) have led to several realizations, each with its own strengths and weaknesses. In this work, we review some of the most relevant efforts on the subject, evaluate a few prominent routines that are publicly available using more than 3000 matrices from different applications, and apply machine learning techniques to anticipate which SpMV realization will perform best for each sparse matrix on a given parallel platform. Our numerical experiments confirm the methods offer such varied behaviors depending on the matrix structure that the identification of general rules to select the optimal method for a given matrix becomes extremely difficult, though some useful strategies (heuristics) can be defined. Using a machine learning approach, we show that it is possible to obtain unexpensive classifiers that predict the best method for a given sparse matrix with over 80% accuracy, demonstrating that this approach can deliver important reductions in both execution time and energy consumption.<\/jats:p>","DOI":"10.1177\/1094342021990738","type":"journal-article","created":{"date-parts":[[2021,1,29]],"date-time":"2021-01-29T04:52:37Z","timestamp":1611895957000},"page":"254-267","update-policy":"https:\/\/doi.org\/10.1177\/sage-journals-update-policy","source":"Crossref","is-referenced-by-count":20,"title":["Selecting optimal SpMV realizations for GPUs via machine learning"],"prefix":"10.1177","volume":"35","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4971-340X","authenticated-orcid":false,"given":"Ernesto","family":"Dufrechou","sequence":"first","affiliation":[{"name":"Instituto de Computaci\u00f3n (INCO), Facultad de Ingenier\u00eda (FING), Univerasidad de la Rep\u00fablica (UDELAR), Uruguay"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Pablo","family":"Ezzatti","sequence":"additional","affiliation":[{"name":"Instituto de Computaci\u00f3n (INCO), Facultad de Ingenier\u00eda (FING), Univerasidad de la Rep\u00fablica (UDELAR), Uruguay"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Enrique S","family":"Quintana-Ort\u00ed","sequence":"additional","affiliation":[{"name":"Depto. de Inform\u00e1tica de Sistemas y Computadores, Universitat Polit\u00e8cnica de Val\u00e8ncia, Spain"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"179","published-online":{"date-parts":[[2021,1,29]]},"reference":[{"key":"bibr1-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.107"},{"key":"bibr2-1094342021990738","unstructured":"Anzt H, Tomov S, Dongarra JJ (2014b) Implementing a sparse matrix vector product for the SELL-C \/ SELL-C-\u03c3 formats on Nvidia GPUS. Available at: https:\/\/www.icl.utk.edu\/publications\/implementing-sparse-matrix-vector-product-sell-csell-c-%CF%83-formats-nvidia-gpus"},{"key":"bibr3-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1177\/1094342016672081"},{"key":"bibr4-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1007\/s11227-020-03186-1"},{"key":"bibr5-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1137\/1.9781611971538"},{"key":"bibr6-1094342021990738","unstructured":"Bell N, Garland M (2008) Efficient sparse matrix-vector multiplication on CUDA. Nvidia Technical Report NVR-2008-004, Nvidia Corporation."},{"key":"bibr7-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1145\/1654059.1654078"},{"key":"bibr8-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1007\/BF00058655"},{"key":"bibr9-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1145\/1837853.1693471"},{"key":"bibr10-1094342021990738","unstructured":"Chow E, Chow E, Saad Y (1995) Tools and libraries for parallel sparse matrix computations."},{"key":"bibr11-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1145\/800195.805928"},{"key":"bibr12-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2015.98"},{"key":"bibr13-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718881"},{"key":"bibr14-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PAD.2019.00020"},{"key":"bibr15-1094342021990738","unstructured":"Elafrou A, Goumas GI, Koziris N (2015) A lightweight optimization selection method for sparse matrix-vector multiplication.\n                      CoRR\n                      abs\/1511.02494. URL http:\/\/arxiv.org\/abs\/1511.02494."},{"key":"bibr16-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PADW.2017.15"},{"key":"bibr17-1094342021990738","doi-asserted-by":"crossref","unstructured":"Gao J, Qi P, He G (2016) Efficient CSR-based sparse matrix-vector multiplication on GPU. Mathematical Problems in Engineering 2016. DOI: https:\/\/doi.org\/10.1155\/2016\/4596943.","DOI":"10.1155\/2016\/4596943"},{"key":"bibr18-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.3936"},{"key":"bibr19-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2014.68"},{"key":"bibr20-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2016.05.308"},{"key":"bibr21-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2013.123"},{"key":"bibr22-1094342021990738","unstructured":"Kreutzer M, Hager G, Wellein G, et al. (2013) A unified sparse matrix data format for modern processors with wide SIMD units.\n                      ArXiv\n                      abs\/1307.6209."},{"key":"bibr23-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2014.2308221"},{"key":"bibr24-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2015.04.004"},{"key":"bibr25-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP.2015.7245713"},{"key":"bibr26-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1007\/s11265-016-1216-4"},{"key":"bibr27-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11515-8_10"},{"key":"bibr28-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1145\/1362622.1362674"},{"key":"bibr29-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1007\/s11227-011-0626-0"},{"key":"bibr30-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2014.48"},{"key":"bibr31-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/PMBS.2016.009"},{"key":"bibr32-1094342021990738","doi-asserted-by":"publisher","DOI":"10.1109\/ICCSE.2012.28"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342021990738","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/full-xml\/10.1177\/1094342021990738","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342021990738","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T08:17:19Z","timestamp":1777450639000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342021990738"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,1,29]]},"references-count":32,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,5]]}},"alternative-id":["10.1177\/1094342021990738"],"URL":"https:\/\/doi.org\/10.1177\/1094342021990738","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"value":"1094-3420","type":"print"},{"value":"1741-2846","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,1,29]]}}}