PI: Hal Finkel, LCF
Description: As heterogeneous computing becomes an essential part of our HPC/scientific-computing ecosystem, abstracting underlying hardware interfaces and programming models is becoming an essential part of modern software development. For application software written in C++, there are several good abstraction frameworks for this purpose, and in particular two developed by DOE, Kokkos and RAJA, which are enabling application portability across many different architectures. We will explore and develop these frameworks further to support Aurora and other future machines.
Testbed: Access to modern GPU hardware.