AMD GCN GPU Target Continuing To Improve For The GCC 10 Compiler
With the recent release of the GCC 9 stable compiler there is the initial "AMD GCN" GPU target/back-end merged. However, for this GNU Compiler Collection release the AMD GCN target isn't all that useful but continued work on it gives us hope of seeing it in good shape for next year's GCC 10 release.
With the GCC 9.1 release, the AMD GCN back-end can only handle running basic single-threaded programs... Not exactly useful for graphics cards. The GCC 9 code supports targeting the Fiji and Vega 10 GCN instruction set architecture.
Still being worked on for mainline GCC with the AMD GCN GPU targeting is the ability to handle OpenACC/OpenMP GPU device offloading with this back-end to allow for real-world code-bases to run on the Radeon graphics cards. We're still not there yet with the GCC development code, but work is progressing in that direction.
Besides other AMD GCN activity, the most recent addition is now handling constructors/deconstructors with GCN. Not all that useful by itself, but we're certainly excited every time more AMD GCN support hits GCC.
This code continues to be worked on by CodeSourcery / Mentor Graphics under contract for AMD. Within Mentor Graphics' CodeBench Lite AMD software is the bleeding-edge GCC back-end work that does allow for GCN offloading to Radeon Instinct GPUs with OpenMP and OpenACC. Hopefully mainline GCC is caught up by the next major release, GCC 10, albeit unfortunate it has taken so long for the GNU compiler to see this level of AMD GPU support.
Add A Comment