Fine-grain task-parallel algorithms for matrix factorizations and inversion on many-threaded CPUs

We extend a two-level task partitioning previously applied to the inversion of dense matrices via Gauss–Jordan elimination to the more challenging QR factorization as well as the initial orthogonal reduction to band form found in the singular value decomposition. Our new task-parallel algorithms lev...

ver descrição completa

Detalhes bibliográficos
Autores: Catalán Pallarés, Sandra, Herrero Zaragoza, José Ramón|||0000-0002-4060-367X, Igual Peña, Francisco D., Quintana Ortí, Enrique Salvador, Rodríguez Sánchez, Rafael
Formato: artículo
Fecha de publicación:2022
País:España
Recursos:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/370196
Acesso em linha:https://hdl.handle.net/2117/370196
https://dx.doi.org/10.1002/cpe.6999
Access Level:acceso abierto
Palavra-chave:Algebras, Linear
Parallel processing (Electronic computers)
High performance computing
CPUs
High performance
Matrix factorizations
Matrix inversion
OpenMP
Task parallelism
Àlgebra lineal
Processament en paral·lel (Ordinadors)
Càlcul intensiu (Informàtica)
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors::Arquitectures paral·leles
Descrição
Resumo:We extend a two-level task partitioning previously applied to the inversion of dense matrices via Gauss–Jordan elimination to the more challenging QR factorization as well as the initial orthogonal reduction to band form found in the singular value decomposition. Our new task-parallel algorithms leverage the tasking mechanism currently available in OpenMP to exploit “nested” task parallelism, with a first outer level that operates on matrix panels and a second inner level that processes the matrix either by µ -panels or by tiles, in order to expose a large number of independent tasks. We present a detailed performance analysis, including execution traces, which shows that the two-level refinement into fine grain tasks allows for an improved load balancing and delivers high performance on current general-purpose many-core processors (CPUs) from Intel and AMD.