September 2026

Journal

Accl++ : A high-productivity programming language for performance and code portability on heterogeneous systems

By:
Gonzalez-Tallada, Marc; Valero Lara, Pedro ; Monil, Mohammad Alaul Haque ; Lee, Seyong ; Johnston, Beau E; Young, Aaron R; Miniskar, Narasinga Rao ; Teranishi, Keita ; Vetter, Jeffrey S
Journal Name:
Future Generation Computer Systems
Page Number:
108479
Volume:
182
Publication Date:
September 15, 2026
View DOI Listing:
https://doi.org/10.1016/j.future.2026.108479

Abstract

This work describes the Accl++ programming language for heterogeneous computing. Accl++ is embedded in the C++ language and implemented as a C++ library. The language allows for describing device code and execution libraries and includes primitives for runtime compilation (RTC), thereby enabling code portability across disparate devices. Here, we demonstrate Accl++’s capability by coding different benchmarks from different domains. This work also describes an analysis of the overheads introduced by the Accl++ RTC support as well as the performance of the generated code for the Accl++ kernels. Accl++ improves heterogeneous code portability without incurring high levels of overhead. In two different heterogeneous systems—one composed of two 32-core AMD EPYC 7513 CPUs and two NVIDIA A100 GPUs and the other composed of two 12-core AMD EPYC 7272 CPUs and two AMD MI100 GPUs—Accl++ enables the execution of the same binary application with observed RTC overheads in the range of 3%–10% of the total kernel execution time, resulting in performance levels similar to those of native CUDA/HIP/OpenCL code.