SUSE Continues Working On AMD HSA Support In GCC
SUSE in cooperation with AMD continues working on the HSA (Heterogeneous System Architecture) support inside the GCC compiler stack.
Going back a while now, AMD has been working with SUSE on adding HSA support to GCC. Some of the work has landed in GCC while more additions are still pending -- including some newly-published patches.
Last week SUSE's Martin Jambor published support for integrating HSA into the existing accelerator framework as a libgomp plug-in. "the big patch below brings HSA substantially closer to nice co-existence with the existing accelerator framework in trunk. Above all, it implements a libgomp plugin, and with this patch applied, the branch uses it to run the target constructs of OpenMP 4. While there may be mistakes, I hope that the plugin already implements all that is necessary and should be very close to the version I will propose for inclusion to trunk late in the summer."
This HSA support as a libgomp plug-in would expose it as an offload target alongside the Intel MIC / Xeon Phi with OpenMP and NVIDIA PTX with OpenACC. The GCC offloading support came together with GCC 5 while more improvements -- and this latest work -- will come next year with GCC 6. Those unfamiliar with the current GCC Offloading support can see this Wiki page.
Martin also published a new patch today for supporting HSA vector immediates.
It's great to see the HSA GCC support coming together albeit taking longer than anticipated with originally it looking like open-source HSA would be usable around the end of 2014. Outside of the compiler stack, the AMDKFD HSA kernel driver continues to be improved as well as the AMD GPU LLVM back-end, the Clover/OpenCL stack in Gallium3D, etc.
Going back a while now, AMD has been working with SUSE on adding HSA support to GCC. Some of the work has landed in GCC while more additions are still pending -- including some newly-published patches.
Last week SUSE's Martin Jambor published support for integrating HSA into the existing accelerator framework as a libgomp plug-in. "the big patch below brings HSA substantially closer to nice co-existence with the existing accelerator framework in trunk. Above all, it implements a libgomp plugin, and with this patch applied, the branch uses it to run the target constructs of OpenMP 4. While there may be mistakes, I hope that the plugin already implements all that is necessary and should be very close to the version I will propose for inclusion to trunk late in the summer."
This HSA support as a libgomp plug-in would expose it as an offload target alongside the Intel MIC / Xeon Phi with OpenMP and NVIDIA PTX with OpenACC. The GCC offloading support came together with GCC 5 while more improvements -- and this latest work -- will come next year with GCC 6. Those unfamiliar with the current GCC Offloading support can see this Wiki page.
Martin also published a new patch today for supporting HSA vector immediates.
It's great to see the HSA GCC support coming together albeit taking longer than anticipated with originally it looking like open-source HSA would be usable around the end of 2014. Outside of the compiler stack, the AMDKFD HSA kernel driver continues to be improved as well as the AMD GPU LLVM back-end, the Clover/OpenCL stack in Gallium3D, etc.
7 Comments