One of AMD’s tenets to their evolution in the hardware is that adoption of HSA, or heterogeneous software acceleration needs to be pushed more into the public sphere. HSA is a collection of software and hardware technologies that work together to accelerate software that can take advantage of both CPU and GPU resources. HSA has many applications in a lot of different industries, from gaming to CAD work and even things like weather prediction. The goal here is to get the CPU and GPU working together in the most efficient way with all available system resources, pushing much of the multi-threaded code onto the graphics hardware while single-threaded portions of code get chewed up by the CPU.
To help this movement, the HSA Foundation works with manufacturers and software vendors to help their developments along and recently AMD published a brand new HSA driver for the Linux kernel.
The new driver is the result of the work of Phoronix contributor John Bridgman and engineers at AMD. The 83 individual patches together allow any Linux distribution with the kernel patches to use HSA-compliant hardware from AMD without any third-party drivers or AMD’s own Catalyst software. Right out of the box you can get to work on running HSA software and this applies to a large range of hardware, not just APUs, promises AMD’s Oded Gabbay.
“The code in this patch set is intended to serve both as a sample driver for other HSA-compatible hardware devices and as a production driver for radeon-family processors,” writes Gabbay in a press release. “The code is architected to support multiple CPUs each with connected GPUs, although the current implementation focuses on a single Kaveri/Berlin APU, and works alongside the existing radeon kernel graphics driver (kgd).”
“AMD GPUs designed for use with HSA (Sea Islands and up) share some hardware functionality between HSA compute and regular gfx/compute (memory, interrupts, registers), while other functionality has been added specifically for HSA compute (hw scheduler for virtualized compute rings).”
If this all sounds like gibberish to you, don’t worry – HSA is still in its infancy and most of the finer details haven’t been fleeced out by AMD or the other members of the HSA Foundation. But it is good to see that one doesn’t need expensive hardware to take advantage of it. The Sea Islands family mostly consisted of Radeon HD8000 cards, while anything from the Radeon R5, R7 and R9 series as well as any new FirePro cards can run with these patches as well.
The driver release doesn’t mean that AMD’s performance under Linux with GCN (Graphics Core Next) GPUs is suddenly going to get better for gaming, however. This just makes the process of porting over HSA-compliant applications to Linux that much easier. If this functionality is baked in the kernel already and makes it into any new distributions (or if careful modders update the kernel themselves) then there’s no fiddling around to get it working and HSA-compliant apps can be included in the various software repositories.
This is a step forward to better performance for AMD in the Linux space and it shows that they are embracing the community-driven approach to Linux development. These guys had just better not step on any of Linus Torvald’s toes now while they submit these fixes for inclusion in the Linux 3.17 kernel.