More Details On The AMD GCN Back-End For GCC That's Expected To Merge For GCC 9

Andrew Stubbs who posted those latest AMD GCN patches last week for GCC was in attendance at the Cauldron in Manchester (UK) to talk about their AMD GPU back-end work for the GNU compiler toolchain. Among the highlights are:
- AMD has indeed been funding Mentor Graphics to create this new GCC port... It was pretty much assumed, but not entirely clear with AMD and SUSE being long-time partners and SUSE having originally started working on the GCN back-end in 2016. But it turns out AMD ended up hiring Mentor to work on this code since 2017 while using the SUSE code as a starting point.
- One of the explicit requirements by AMD is for this GCN back-end to handle Fortran code (GFortran) with the OpenACC and OpenMP parallel programming interfaces.
- A binary release of this AMD GCN GCC port based on GCC 7 and with only supporting C++ OpenMP/OpenACC offloading is currently available within Sourcery CodeBench.
- Mentor will be making a new binary release in November based on GCC 8 and with various OpenACC updates, expanded vector support, and other backend-specific improvements.
- They don't yet have the AMD GCN code written for Binutils coverage so for now they are relying upon LLVM's assembler and linker support.
- They indeed are hoping to get this back-end merged for GCC 9.
- They still need to finish more C++ functionality, sub-word vector operations, register sharing to support more than four threads per compute unit, and various clean-ups / optimizations.
A lot more technical details on this AMD back-end for GCC are available via this slide deck (PDF) from the GNU Tools Cauldron 2018.
16 Comments
