Better Support & Performance For OpenACC Kernels Is Coming To GCC

Written by Michael Larabel in GNU on 22 September 2021 at 06:40 AM EDT. Add A Comment
While the GNU Compiler Collection has supported OpenACC for a few years now as this parallel programming standard popular with GPUs/accelerators, the current implementation has been found to be inadequate for many real-world HPC workloads leveraging OpenACC. Fortunately, Siemens has been working to improve GCC's OpenACC kernels support.

GCC's existing OpenACC kernels construct has been found to be "unable to cope with many language constructs found in real HPC codes which generally leads to very bad performance." Fortunately, improvements are on the way and could potentially be mainlined in time for next year's GCC 12 stable release.

Frederik Harwath of Siemens talked at this week's LPC2021 GNU Tools Track around the OpenACC kernels work that is forthcoming. The tentative code offers a more unified internal representation of the kernel and parallel regions, data-dependence analysis using Graphite, improvements to Graphite itself, and language front-end improvements too. The plan is to push the code soon to the public development branch and to submit for mainline shortly after that point, which we'll see if it makes it in time for GCC 12.

Details on these forthcoming OpenACC improvements for GCC via the LPC2021 GNU Tools Track video below and the accompanying slide deck.

Related News
About The Author
Michael Larabel

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, LinkedIn, or contacted via

Popular News This Week