1 of 1

CCAMP: Integrated Translation and Optimization for OpenACC and OpenMP�with the SciDAC-HEP NeuCol partnership

1

Scientific Achievement

We developed an integrated OpenACC and OpenMP interoperable framework, which allows automatic translation and optimization between two directive-based programming models (OpenACC and OpenMP) to increase the performance portability of applications across diverse heterogeneous architectures.

Significance and Impact

Directive-based high-level programming models such as OpenMP and OpenACC have emerged to address programming complexities in heterogeneous computing. However, the varying levels of support for these standards within vendor-specific and open-source tools have prevented the standards from achieving their goals. CCAMP allows existing OpenMP/OpenACC programs to achieve performance portability by exploiting best available programming systems on the target system.

Bi-directional translation and optimizations between OpenMP and OpenACC using CCAMP. CCAMP allows existing directive-based high-level programs (OpenACC or OpenMP) to achieve performance portability across diverse heterogeneous systems by exploiting the best available programming models and compilers on the target system.

Technical Approach

  • Develop an interoperability framework that provides 1) automatic language translation between the two standards and 2) device-specific directive optimization within each standard.
  • Extend CCAMP to support device-specific programming models (CUDA, HIP, and OpenCL) through direct translation from OpenACC/OpenMP.

Jacob Lambert, Mohammad Alaul Haque Monil, Seyong Lee, Allen Malony, and Jeffrey S. Vetter, Leveraging Compiler-Based Translation to Evaluate a Diversity of Exascale Platforms, P3HPC: Performance, Portability & Productivity in HPC, in conjunction to SC22, 2022.

PI(s): Robert Ross (ANL); Local Lab POC: Seyong Lee (ORNL)

Collaborating Institutions: ORNL, University of Oregon

ASCR Program: SciDAC RAPIDS2 ASCR PM: Kalyan Perumalla

Publication for this work: Jacob Lambert, et al., “Leveraging Compiler-Based Translation to Evaluate a Diversity of Exascale Platforms”, P3HPC: Performance, Portability & Productivity in HPC, in conjunction to SC22, 2022

DOI: 10.1109/P3HPC56579.2022.00007