GCC Is Potentially Months From Seeing Radeon OpenMP 4.5 / OpenACC 2.6 GPU Offloading
At last month's GNU Tools Cauldron was an update on the Radeon GCN back-end state for the GCC compiler, which is likely to see more code land around year's end.
Merged for GCC 9 was the initial Radeon GCN back-end for targeting AMD GPUs from the GNU Compilers Collection as an alternative to their long-standing AMDGPU LLVM compiler support. With GCC 9 the Radeon GCN support was limited, but for next year's GCC 10 support it should be in better shape. They have a path forward to make it quite capable, but it might not all land in time for GCC 10.
Thomas Schwinge is part of the team at Mentor Graphics who has been working on this code under contract with AMD provided the update. At last month's GCC conference he shared that the OpenMP 4.5 and OpenACC 2.6 support is happening in the development tree. Additionally, the NVIDIA GCC support is now onto being developed in the same tree as the Radeon code for offering a unified offload toolchain development repository. The GPU offloading work is happening in this code branch.
Besides getting the OpenMP 4.5 / OpenACC 2.6 offloading support for Radeon into mainline GCC, there are performance improvements still to be done like enabling up to 40 wavefronts per CU.
At the moment though the Mentor Graphics developers are preparing for their Sourcery CodeBench 2019.11 release that relies upon this code. Following that November release they will be trying to upstream the code that's ready into GCC 10. It was also noted that the OpenMP support is likely to land sooner than the OpenACC bits.
But long story short is their "forecast" on the Radeon GCC offloading support being in good shape is potentially for next year's GCC 10 compiler release otherwise GCC 11 the following year. They will be running up against the GCC 10 release cycle timing with feature development ending on that compiler around the end of this year or early next year.
More details within this slide deck.
Merged for GCC 9 was the initial Radeon GCN back-end for targeting AMD GPUs from the GNU Compilers Collection as an alternative to their long-standing AMDGPU LLVM compiler support. With GCC 9 the Radeon GCN support was limited, but for next year's GCC 10 support it should be in better shape. They have a path forward to make it quite capable, but it might not all land in time for GCC 10.
Thomas Schwinge is part of the team at Mentor Graphics who has been working on this code under contract with AMD provided the update. At last month's GCC conference he shared that the OpenMP 4.5 and OpenACC 2.6 support is happening in the development tree. Additionally, the NVIDIA GCC support is now onto being developed in the same tree as the Radeon code for offering a unified offload toolchain development repository. The GPU offloading work is happening in this code branch.
Besides getting the OpenMP 4.5 / OpenACC 2.6 offloading support for Radeon into mainline GCC, there are performance improvements still to be done like enabling up to 40 wavefronts per CU.
At the moment though the Mentor Graphics developers are preparing for their Sourcery CodeBench 2019.11 release that relies upon this code. Following that November release they will be trying to upstream the code that's ready into GCC 10. It was also noted that the OpenMP support is likely to land sooner than the OpenACC bits.
But long story short is their "forecast" on the Radeon GCC offloading support being in good shape is potentially for next year's GCC 10 compiler release otherwise GCC 11 the following year. They will be running up against the GCC 10 release cycle timing with feature development ending on that compiler around the end of this year or early next year.
More details within this slide deck.
3 Comments