CCAMP: An Integrated Translation and Optimization Framework for OpenACC and OpenMP
- University of Oregon
- ORNL
Heterogeneous computing and exploration into specialized accelerators are inevitable in current and future supercomputers. Although this diversity of devices is promising for performance, the array of architectures presents programming challenges. High-level programming strategies have emerged to face these challenges, such as the OpenMP offloading model and OpenACC. The varying levels of support for these standards, however, within vendor-specific and open-source tools, as well as the lack of performance portability across devices, have prevented the standards from achieving their goals. To address these shortcomings, we present CCAMP, an OpenMP and OpenACC interoperable framework. CCAMP provides two primary facilities: language translation between the two standards and device-specific directive optimization within each standard. We show that by using the CCAMP framework, programmers can easily transplant non-portable code into new ecosystems for new architectures. Additionally, by using CCAMP device-specific directive optimizations, users can achieve optimized performance across architectures using a single source code.
- Research Organization:
- Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- AC05-00OR22725
- OSTI ID:
- 1706244
- Resource Relation:
- Conference: The International Conference for High Performance Computing, Networking, Storage, and Analysis (SC 2020) - Atlanta, Georgia, United States of America - 11/16/2020 10:00:00 AM-11/19/2020 10:00:00 AM
- Country of Publication:
- United States
- Language:
- English
Similar Records
KokkACC: Enhancing Kokkos with OpenACC
Clacc: Translating OpenACC to OpenMP in Clang