We investigate a parallelization strategy for dense matrix factorization (DMF) algorithms, using OpenMP, that departs from the legacy (or conventional) solution, which simply extracts concurrency from a multithreaded version of BLAS. This approach is also different from the more sophisticated runtime-assisted implementations, which decompose the operation into tasks and identify dependencies via directives and runtime support. Instead, our strategy attains high performance by explicitly embedding a static look-ahead technique into the DMF code, in order to overcome the performance bottleneck of the panel factorization, and realizing the trailing update via a cache-aware multi-threaded implementation of the BLAS. Although the parallel algorithms are specified with a highlevel of abstraction, the actual implementation can be easily derived from them, paving the road to deriving a high performance implementation of a considerable fraction of LAPACK functionality on any multicore platform with an OpenMP-like runtime.
@article{arxiv.1804.07017,
title = {Programming Parallel Dense Matrix Factorizations with Look-Ahead and OpenMP},
author = {Sandra Catalán and Adrián Castelló and Francisco D. Igual and Rafael Rodríguez-Sánchez and Enrique S. Quintana-Ortí},
journal= {arXiv preprint arXiv:1804.07017},
year = {2018}
}