Project Status: Active

OpenACC Support for Clang and LLVM

Clacc Compiler Design


Clacc is developing open-source, production-quality, standard-conforming OpenACC compiler, runtime, and profiling support by extending Clang and LLVM.

OpenACC support in Clang and LLVM will facilitate the programming of GPUs and other accelerators in DOE applications, and it will provide a popular compiler platform on which to perform research and development for related optimizations and tools (e.g., static analyzers, debuggers, editor extensions).

A key Clacc design decision is to translate OpenACC to OpenMP in order to build upon the OpenMP support being developed for Clang and LLVM.  A benefit of this design is support for two compilation modes: traditional compilation mode translates OpenACC source to an executable, and source-to-source mode translates OpenACC source to OpenMP source.

Source Code

Clacc is publicly available on github as part of the ORNL-maintained LLVM DOE Fork.

Publications and Presentations

Related Projects


  • Joel E. Denny (Email: dennyje AT ornl DOT gov)

Last Updated: March 9, 2021 - 4:53 pm