SEER: An On-node Performance-Portable C++ Library for Heterogeneous Systems

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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 languageEnglish
Title of host publicationLanguages and Compilers for Parallel Computing - 36th International Workshop, LCPC 2023, Revised Selected Papers
EditorsHenry Dietz
PublisherSpringer Science and Business Media Deutschland GmbH
Pages1-19
Number of pages19
ISBN (Print)9783032024350
DOIs
StatePublished - 2026
Event36th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2023 - Lexington, United States
Duration: Oct 11 2023Oct 13 2023

Publication series

NameLecture Notes in Computer Science
Volume14480 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference36th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2023
Country/TerritoryUnited States
CityLexington
Period10/11/2310/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

Fingerprint

Dive into the research topics of 'SEER: An On-node Performance-Portable C++ Library for Heterogeneous Systems'. Together they form a unique fingerprint.

Cite this