Linux 4.14 + ROCm Might End Up Working Out For Kaveri & Carrizo APUs
It looks like the upstream Linux 4.14 kernel may end up playing nicely with the ROCm OpenCL compute stack, if you are on a Kaveri or Carrizo system.
While ROCm is promising as AMD's open-source compute stack complete with OpenCL 1.2+ support, its downside is that for now not all of the necessary changes to the Linux kernel drivers, LLVM Clang compiler infrastructure, and other components are yet living in their upstream repositories. So for now it can be a bit hairy to setup ROCm compute on your own system, especially if running a distribution without official ROCm packages. AMD developers are working to get all their changes upstreamed in each of the respective sources, but it's not something that will happen overnight and given the nature of Linux kernel development, etc, is something that will still take months longer to complete.
The good news for at least Carrizo and Kaveri APUs, the upstream Linux 4.14 kernel may end up being good enough for at least some ROCm OpenCL workloads. Former AMD compute developer Tom Stellard who is now working for Red Hat on open-source GPGPU efforts inquired about recent commentary by AMD's Felix Kuehling about getting ROCm working on upstream kernels.
Felix clarified that for now it's only Carrizo and Kaveri APUs. As well, you still need custom Thunk code and a simple hack is needed to the user-space code to get Kaveri working. The kernel ABI is still being worked out as part of the upstreaming process.
In a follow-up message Felix added that amd-staging-drm-next is working as the "upstream" source while the necessary patches are also working their way into Linux 4.14.
Hopefully in time for Linux 4.15 we'll see more AMD ROCm-related upstreaming work.
While ROCm is promising as AMD's open-source compute stack complete with OpenCL 1.2+ support, its downside is that for now not all of the necessary changes to the Linux kernel drivers, LLVM Clang compiler infrastructure, and other components are yet living in their upstream repositories. So for now it can be a bit hairy to setup ROCm compute on your own system, especially if running a distribution without official ROCm packages. AMD developers are working to get all their changes upstreamed in each of the respective sources, but it's not something that will happen overnight and given the nature of Linux kernel development, etc, is something that will still take months longer to complete.
The good news for at least Carrizo and Kaveri APUs, the upstream Linux 4.14 kernel may end up being good enough for at least some ROCm OpenCL workloads. Former AMD compute developer Tom Stellard who is now working for Red Hat on open-source GPGPU efforts inquired about recent commentary by AMD's Felix Kuehling about getting ROCm working on upstream kernels.
Felix clarified that for now it's only Carrizo and Kaveri APUs. As well, you still need custom Thunk code and a simple hack is needed to the user-space code to get Kaveri working. The kernel ABI is still being worked out as part of the upstreaming process.
In a follow-up message Felix added that amd-staging-drm-next is working as the "upstream" source while the necessary patches are also working their way into Linux 4.14.
Hopefully in time for Linux 4.15 we'll see more AMD ROCm-related upstreaming work.
12 Comments