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

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

Descripción completa

Detalles Bibliográficos
Autores: Catalán, Sandra, Herrero, José R., Igual, Francisco D., Rodríguez-Sánchez, Rafael, Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
Tipo de recurso: artículo
Fecha de publicación:2023
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/212389
Acceso en línea:https://riunet.upv.es/handle/10251/212389
Access Level:acceso abierto
Palabra clave:CPUs
High performance
Matrix factorizations
Matrix inversion
OpenMP
Task parallelism
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
Descripción
Sumario:[EN] 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 mu$$ \mu $$-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.