Abstract
With the acquisition and widespread use of more resources that rely on accelerator/wide vector–based computing, there has been a strong demand for science and engineering applications to take advantage of these latest assets. This, however, has been extremely challenging due to the diversity of systems to support their extreme concurrency, complex memory hierarchies, costly data movement, and heterogeneous node architectures. To address these challenges, we design a programming model and describe its ease of use in the development of a new MAGMA Templates library that delivers high-performance scalable linear algebra portable on current and emerging architectures. MAGMA Templates derives its performance and portability by (1) building on existing state-of-the-art linear algebra libraries, like MAGMA, SLATE, Trilinos, and vendor-optimized math libraries, and (2) providing access (seamlessly to the users) to the latest algorithms and architecture-specific optimizations through a single, easy-to-use C++-based API.
Original language | English |
---|---|
Pages (from-to) | 645-658 |
Number of pages | 14 |
Journal | International Journal of High Performance Computing Applications |
Volume | 34 |
Issue number | 6 |
DOIs | |
State | Published - Nov 1 2020 |
Funding
We would like to thank NVIDIA for their hardware donations used for development and testing. The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This project was funded by the DoD High Performance Computing Modernization Program through its User Pro- ductivity Enhancement, Technology Transfer, and Training (PETTT) program.
Keywords
- Accelerator-driven computing
- HPC
- linear algebra
- performance portability
- polymorphism
- programming models