Selecting optimal SpMV realizations for GPUs via machine learning

[EN] 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...

Descripción completa

Detalles Bibliográficos
Autores: Dufrechou, Ernesto, Ezzatti, Pablo, Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
Tipo de recurso: artículo
Fecha de publicación:2021
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/184043
Acceso en línea:https://riunet.upv.es/handle/10251/184043
Access Level:acceso abierto
Palabra clave:Sparse numerical linear algebra
Sparse matrix-vector product (SpMV)
Automatic method selection
Machine learning
Parallel architectures
Graphics processing units (GPUs)
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
Descripción
Sumario:[EN] 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