The Current State Of OpenMP Offloading In LLVM's Clang, Try It Today With Clang-YKT
Written by Michael Larabel in LLVM on 18 December 2016 at 08:23 PM EST. 1 Comment
During last month's SuperComputing 2016 conference in Salt Lake City was the LLVM Compiler Infrastructure in HPC workshop being hosted for its third year. The slides from that event were recently made available and one of the talks interesting me the most was about the state of Clang OpenMP offloading, including for GPUs.

Carlo Bertolli of IBM presented on the Clang offloading state for OpenMP as well as technical/background information for those interested in the overall concept.

As of last month, there's a full driver implementation available in the latest development code, libomptarget is available as host agnostic / plugins for ELF and CUDA / NVPTX device library, and the code generation patches are being worked on along with various optimization patches. What isn't yet in mainline LLVM/Clang is the code generation for GPU support and there are some data sharing bits missing.

But for those wanting to play with a full-fledged implementation, their current code-base including work not yet upstreamed can be found via the Clang-YKT on GitHub project.

Those wishing to learn more about the Clang offloading work can see the PDF slide deck by Carlo Bertolli. Those interested in the other presentations from this LLVM HPC workshop from SC'16 can find the other slides via this page.
Related News
About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter or contacted via

Popular News This Week