Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors

[EN] In this work, we address the efficient realization of block-Jacobi preconditioning on graphics processing units (GPUs). This task requires the solution of a collection of small and independent linear systems. To fully realize this implementation, we develop a variablesize batched matrix inversi...

Descripción completa

Detalles Bibliográficos
Autores: Anzt, Hartwig, Dongarra, Jack, Flegar, Goran, Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
Tipo de recurso: artículo
Fecha de publicación:2019
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/158177
Acceso en línea:https://riunet.upv.es/handle/10251/158177
Access Level:acceso abierto
Palabra clave:Batched algorithms
Matrix inversion
Gauss-Jordan elimination
Block-Jacobi
Sparse linear systems
Graphics processor
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
id ES_2aa11d6f425cabbd5ba1cda4459bc4db
oai_identifier_str oai:riunet.upv.es:10251/158177
network_acronym_str ES
network_name_str España
repository_id_str
dc.title.none.fl_str_mv Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
title Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
spellingShingle Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
Anzt, Hartwig
Batched algorithms
Matrix inversion
Gauss-Jordan elimination
Block-Jacobi
Sparse linear systems
Graphics processor
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
title_short Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
title_full Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
title_fullStr Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
title_full_unstemmed Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
title_sort Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processors
dc.creator.none.fl_str_mv Anzt, Hartwig
Dongarra, Jack
Flegar, Goran
Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
author Anzt, Hartwig
author_facet Anzt, Hartwig
Dongarra, Jack
Flegar, Goran
Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
author_role author
author2 Dongarra, Jack
Flegar, Goran
Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
author2_role author
author
author
dc.contributor.none.fl_str_mv Departamento de Informática de Sistemas y Computadores
Escuela Técnica Superior de Ingeniería Informática
Grupo de Arquitecturas Paralelas
European Commission
U.S. Department of Energy
European Regional Development Fund
Swiss National Supercomputing Centre
Ministerio de Economía y Competitividad
Helmholtz Association of German Research Centers
Repositorio Institucional de la Universitat Politècnica de València Riunet
dc.subject.none.fl_str_mv Batched algorithms
Matrix inversion
Gauss-Jordan elimination
Block-Jacobi
Sparse linear systems
Graphics processor
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
topic Batched algorithms
Matrix inversion
Gauss-Jordan elimination
Block-Jacobi
Sparse linear systems
Graphics processor
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
description [EN] In this work, we address the efficient realization of block-Jacobi preconditioning on graphics processing units (GPUs). This task requires the solution of a collection of small and independent linear systems. To fully realize this implementation, we develop a variablesize batched matrix inversion kernel that uses Gauss-Jordan elimination (GJE) along with a variable-size batched matrix-vector multiplication kernel that transforms the linear systems' right-hand sides into the solution vectors. Our kernels make heavy use of the increased register count and the warp-local communication associated with newer GPU architectures. Moreover, in the matrix inversion, we employ an implicit pivoting strategy that migrates the workload (i.e., operations) to the place where the data resides instead of moving the data to the executing cores. We complement the matrix inversion with extraction and insertion strategies that allow the block-Jacobi preconditioner to be set up rapidly. The experiments on NVlDlA's K40 and P100 architectures reveal that our variable-size batched matrix inversion routine outperforms the CUDA basic linear algebra subroutine (cuBLAS) library functions that provide the same (or even less) functionality. We also show that the preconditioner setup and preconditioner application cost can be somewhat offset by the faster convergence of the iterative solver. (C) 2018 Elsevier B.V. All rights reserved.
publishDate 2019
dc.date.none.fl_str_mv 2019
2019-01-01
dc.type.none.fl_str_mv journal article
http://purl.org/coar/resource_type/c_6501
VoR
http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.openaire.fl_str_mv info:eu-repo/semantics/article
format article
dc.identifier.none.fl_str_mv https://riunet.upv.es/handle/10251/158177
url https://riunet.upv.es/handle/10251/158177
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.relation.none.fl_str_mv European Commission https://doi.org/10.13039/501100000780 H2020 732631 Open transPREcision COMPuting
Ministerio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2014-53495-R COMPUTACION HETEROGENEA DE BAJO CONSUMO
Helmholtz Association of German Research Centers Helmholtz Association of German Research Centers VH-NG-1241
U.S. Department of Energy https://doi.org/10.13039/100000015 DE-SC-0010042
Swiss National Supercomputing Centre CSCS #d65
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
Reconocimiento - No comercial - Sin obra derivada (by-nc-nd)
http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
Reconocimiento - No comercial - Sin obra derivada (by-nc-nd)
http://creativecommons.org/licenses/by-nc-nd/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Elsevier
publisher.none.fl_str_mv Elsevier
dc.source.none.fl_str_mv reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
instname:Universitat Politècnica de València (UPV)
instname_str Universitat Politècnica de València (UPV)
reponame_str RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
collection RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869405084578742272
spelling Variable-size batched Gauss-Jordan elimination for block-Jacobi preconditioning on graphics processorsAnzt, HartwigDongarra, JackFlegar, GoranQuintana-Ortí, Enrique S.|||0000-0002-5454-165XBatched algorithmsMatrix inversionGauss-Jordan eliminationBlock-JacobiSparse linear systemsGraphics processorARQUITECTURA Y TECNOLOGIA DE COMPUTADORES[EN] In this work, we address the efficient realization of block-Jacobi preconditioning on graphics processing units (GPUs). This task requires the solution of a collection of small and independent linear systems. To fully realize this implementation, we develop a variablesize batched matrix inversion kernel that uses Gauss-Jordan elimination (GJE) along with a variable-size batched matrix-vector multiplication kernel that transforms the linear systems' right-hand sides into the solution vectors. Our kernels make heavy use of the increased register count and the warp-local communication associated with newer GPU architectures. Moreover, in the matrix inversion, we employ an implicit pivoting strategy that migrates the workload (i.e., operations) to the place where the data resides instead of moving the data to the executing cores. We complement the matrix inversion with extraction and insertion strategies that allow the block-Jacobi preconditioner to be set up rapidly. The experiments on NVlDlA's K40 and P100 architectures reveal that our variable-size batched matrix inversion routine outperforms the CUDA basic linear algebra subroutine (cuBLAS) library functions that provide the same (or even less) functionality. We also show that the preconditioner setup and preconditioner application cost can be somewhat offset by the faster convergence of the iterative solver. (C) 2018 Elsevier B.V. All rights reserved.This material is based upon work supported by the U.S. Department of Energy Office of Science, Office of Advanced Scientific Computing Research, Applied Mathematics program under Award Number DE-SC-0010042. H. Anzt was supported by the "Impuls and Vernetzungsfond of the Helmholtz Association" under grant VH-NG-1241. G. Flegar and E. S. Quintana-Orti were supported by project TIN2014-53495-R of the MINECO-FEDER; and project OPRECOMP (http://oprecomp.eu) with the financial support of the Future and Emerging Technologies (FET) programme within the European Union's Horizon 2020 research and innovation programme, under grant agreement No 732631. The authors would also like to acknowledge the Swiss National Computing Centre (CSCS) for granting computing resources in the Small Development Project entitled "Energy-Efficient preconditioning for iterative linear solvers" (#d65).ElsevierDepartamento de Informática de Sistemas y ComputadoresEscuela Técnica Superior de Ingeniería InformáticaGrupo de Arquitecturas ParalelasEuropean CommissionU.S. Department of EnergyEuropean Regional Development FundSwiss National Supercomputing CentreMinisterio de Economía y CompetitividadHelmholtz Association of German Research CentersRepositorio Institucional de la Universitat Politècnica de València Riunet20192019-01-01journal articlehttp://purl.org/coar/resource_type/c_6501VoRhttp://purl.org/coar/version/c_970fb48d4fbd8a85info:eu-repo/semantics/articleapplication/pdfapplication/pdfhttps://riunet.upv.es/handle/10251/158177reponame:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valénciainstname:Universitat Politècnica de València (UPV)InglésengEuropean Commission https://doi.org/10.13039/501100000780 H2020 732631 Open transPREcision COMPutingMinisterio de Economía y Competitividad http://dx.doi.org/10.13039/501100003329 TIN2014-53495-R COMPUTACION HETEROGENEA DE BAJO CONSUMOHelmholtz Association of German Research Centers Helmholtz Association of German Research Centers VH-NG-1241U.S. Department of Energy https://doi.org/10.13039/100000015 DE-SC-0010042Swiss National Supercomputing Centre CSCS #d65open accesshttp://purl.org/coar/access_right/c_abf2Reconocimiento - No comercial - Sin obra derivada (by-nc-nd) http://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessoai:riunet.upv.es:10251/1581772026-06-13T07:49:27Z
score 15.300719