Submitted by claxton on
Title | Symmetric Indefinite Linear Solver using OpenMP Task on Multicore Architectures |
Publication Type | Journal Article |
Year of Publication | 2018 |
Authors | Yamazaki, I., J. Kurzak, P. Wu, M. Zounon, and J. Dongarra |
Journal | IEEE Transactions on Parallel and Distributed Systems |
Volume | 29 |
Issue | 8 |
Pagination | 1879–1892 |
Date Published | 2018-08 |
Keywords | linear algebra, multithreading, runtime, symmetric indefinite matrices |
Abstract | Recently, the Open Multi-Processing (OpenMP) standard has incorporated task-based programming, where a function call with input and output data is treated as a task. At run time, OpenMP's superscalar scheduler tracks the data dependencies among the tasks and executes the tasks as their dependencies are resolved. On a shared-memory architecture with multiple cores, the independent tasks are executed on different cores in parallel, thereby enabling parallel execution of a seemingly sequential code. With the emergence of many-core architectures, this type of programming paradigm is gaining attention-not only because of its simplicity, but also because it breaks the artificial synchronization points of the program and improves its thread-level parallelization. In this paper, we use these new OpenMP features to develop a portable high-performance implementation of a dense symmetric indefinite linear solver. Obtaining high performance from this kind of solver is a challenge because the symmetric pivoting, which is required to maintain numerical stability, leads to data dependencies that prevent us from using some common performance-improving techniques. To fully utilize a large number of cores through tasking, while conforming to the OpenMP standard, we describe several techniques. Our performance results on current many-core architectures-including Intel's Broadwell, Intel's Knights Landing, IBM's Power8, and Arm's ARMv8-demonstrate the portable and superior performance of our implementation compared with the Linear Algebra PACKage (LAPACK). The resulting solver is now available as a part of the PLASMA software package. |
DOI | 10.1109/TPDS.2018.2808964 |