Better Support & Performance For OpenACC Kernels Is Coming To GCC
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.