DOE OSTI · 1706244
CCAMP: An Integrated Translation and Optimization Framework for OpenACC and OpenMP
Abstract
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.
Keep this discovery
Explore connections, maps & timelines
Lambert, Jacob, Lee, Seyong, Vetter, Jeffrey S., Malony, Allen. 2020-11-01. CCAMP: An Integrated Translation and Optimization Framework for OpenACC and OpenMP. https://www.osti.gov/biblio/1706244
Cite the original work for its findings. Save a collection to share your selection of sources.