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...
| Autores: | , , , |
|---|---|
| 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 |