sLASs: A fully automatic auto-tuned linear algebra library based on OpenMP extensions implemented in OmpSs (LASs Library) - Valero-Lara, Pedro; Catalán, Sandra; Martorell, Xavier; Usui, Tetsuzo; Labarta, Jesús (Journal of parallel and distributed computing, 2020)
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%. •Development of a highly optimized auto-tuned library for BLAS-3 and LAPACK operations.•Use of OmpSs-2 and OpenMP features to implement auto-tunable codes.•Different strategies depending on the size of the matrices to be computed.•Close to 20% better performance with respect to our references on big matrices.•Close to 40% better performance with respect to our references on small matrices.