Abstract
In this work we have implemented a novel Linear Algebra Library on top of the task-based runtime OmpSs-2. We have used some of the most advanced OmpSs-2 features; weak dependencies and regions, together with the final clause for the implementation of auto-tunable code for the BLAS-3 TRSM routine and the LAPACK routines NPGETRF and NPGESV. All these implementations are part of the first prototype of sLASs library, a novel library for auto-tunable codes for linear algebra operations based on LASs library. In all these cases, the use of the OmpSs-2 features presents an improvement in terms of execution time against other reference libraries such as, the original LASs library, PLASMA, ATLAS and Intel MKL. These codes are able to reduce the execution time in about 18% on big matrices, by increasing the IPC on GEMM and reducing the time of task instantiation. For a few medium matrices, benefits are also seen. For small matrices and a subset of medium matrices, specific optimizations that allow to increase the degree of parallelism in both, GEMM and TRSM tasks, are applied. This strategy achieves an increment in performance of up to 40%.
Original language | English |
---|---|
Pages (from-to) | 153-171 |
Number of pages | 19 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 138 |
DOIs | |
State | Published - Apr 2020 |
Externally published | Yes |
Funding
This project has received funding from the Spanish Ministry of Economy and Competitiveness, Spain under the project Computación de Altas Prestaciones VII ( TIN2015- 65316-P ), the Departament d’Innovació, Universitats i Empresa de la Generalitat de Catalunya, Spain , under project MPEXPAR: Models de Programació i Entorns d’Execució Parallels ( 2014-SGR-1051 ), and the Juan de la Cierva Grant Agreement No IJCI-2017- 33511 . We also acknowledge the funding provided by Fujitsu, Japan under the BSC-Fujitsu joint project: Math Libraries Migration and Optimization.
Keywords
- Auto-tuning
- LASs
- Linear algebra
- OmpSs