Abstract
Heterogeneous and multi-device nodes are widely used in high-performance computing and data centers. However, current programming models do not provide simple, transparent, and portable support for automatically targeting heterogeneous nodes. In this paper, we present SEER, a new C++ library that provides a descriptive programming model to enable applications to benefit from heterogeneous nodes in a transparent and portable way across multiple device types. SEER provides efficient memory management and can select the proper device[s] depending on the computational cost of the applications. All this is completely transparent to the programmer, thereby providing a highly productive programming environment. We evaluate the SEER library on two heterogeneous nodes of Summit (#5 TOP500) and Crusher supercomputers. Notably, the smaller-scale Crusher test-bed machine uses identical hardware and software as ORNL’s Frontier (#1 TOP500). This work also includes a detailed performance study conducted with a set of representative test cases in high-performance computing (e.g., Basic Linear Algebra Subprograms (BLAS), Tridiagonal Solve, and Conjugate Gradient). SEER provides high accelerations of up to 30× for sparse matrix and 8× for batch BLAS applications thanks to automatic and transparent device selection and multi-device exploitation respectively.
| Original language | English |
|---|---|
| Title of host publication | Languages and Compilers for Parallel Computing - 36th International Workshop, LCPC 2023, Revised Selected Papers |
| Editors | Henry Dietz |
| Publisher | Springer Science and Business Media Deutschland GmbH |
| Pages | 1-19 |
| Number of pages | 19 |
| ISBN (Print) | 9783032024350 |
| DOIs | |
| State | Published - 2026 |
| Event | 36th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2023 - Lexington, United States Duration: Oct 11 2023 → Oct 13 2023 |
Publication series
| Name | Lecture Notes in Computer Science |
|---|---|
| Volume | 14480 LNCS |
| ISSN (Print) | 0302-9743 |
| ISSN (Electronic) | 1611-3349 |
Conference
| Conference | 36th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2023 |
|---|---|
| Country/Territory | United States |
| City | Lexington |
| Period | 10/11/23 → 10/13/23 |
Funding
This research used resources from the Oak Ridge Leadership Computing Facility and the Experimental Computing Laboratory at ORNL, which is supported by the US Department of Energy’s (DOE’s) Office of Science under Contract No. DE-AC0500OR22725. This research was supported in part by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the DOE’s Office of Science and the National Nuclear Security Administration. This manuscript has been authored by UT-Battelle, LLC under Contract No. DE-AC05-00OR22725 with the DOE. The publisher, by accepting the article for publication, acknowledges that the US Government retains a non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of the manuscript or allow others to do so, for US Government purposes. The DOE will provide public access to these results in accordance with the DOE Public Access Plan (http://energy.gov/downloads/doe-public-access-plan).
Keywords
- C++
- Heterogeneous
- Metaprogramming
- Multi-Device
- Performance Portability