Accelerating Science with Directive-Based Programming on Heterogeneous Machines and Future Technologies

Jacob Lambert
Date and time: 
Tue, Jun 15 2021 - 9:30am
Jacob Lambert
University of Oregon
  • Allen Malony (Chair)
  • Hank Childs
  • Boyana Norris
  • Josef Dufek (Earth Sciences)
  • Seyong Lee, Oak Ridge National Laboratory¬†

Accelerator-based heterogeneous computing has become the de facto standard in contemporary high-performance machines, including upcoming exascale machines. These heterogeneous platforms have been instrumental to the development of computation-based science over the past several years. However, this specialization of hardware has also led to a specialization of associated heterogeneous programming models that are often intimidating to scientific programmers and that may not be portable or transferable between different platforms. Directive-based programming offers one high-level alternative to specialized code, but also introduces its own set of challenges. Many accelerators, like FPGAs, may not support a directive-based approach, and others like GPUs and CPUs may selectively support standards. In this dissertation we perform the necessary research required to further enable directive-based computing to consistently accelerate science on heterogeneous platforms. This research takes the form of three major projects: (1) an OpenACC-to-FPGA framework developed to bring FPGAs under the umbrella of directive-based computing, (2) an OpenACC and OpenMP interoperable framework designed to improve the portability and performance of directive-based standards across different platforms, and (3) an exploration of exascale-intended platforms with directive-based applications.