Mesa's Rusticl OpenCL Driver Nearly Ready With AMD Radeon GPU Support
The Rusticl Rust-based OpenCL driver implementation that was merged last year into Mesa 22.3 has been an extremely promising effort. One of the issues though is that with the current mainline state inside Mesa has lacked support for working with AMD Radeon GPUs via the RadeonSI Gallium3D driver, but that is now coming to fruition.
The Rusticl OpenCL driver has been very promising with supporting modern OpenCL features (including working images support), OpenCL 3.0 conformance, SPIR-V program support, working with multiple Gallium3D drivers, and all-around being pretty much better than the dormant Gallium3D "Clover" OpenCL driver.
Karol Herbst as the lead Rusticl developer, who is employed by Red Hat, has worked on RadeonSI support for Rusticl but it's taken a while to get the patches cleaned-up and mainlined. The work though has been very promising with Rusticl on RadeonSI being capable of outperforming AMD's ROCm OpenCL driver.
In nearing the milestone of Rusticl working on RadeonSI, a set of prep patches have been merged for Mesa 23.1. Karol Herbst noted in the two month old merge request that is now merged, "Some random things we need to change before being able to enable radeonsi."
The code merged is just the prep support while this MR is what's needed to land next to go ahead and enable the RadeonSI support. Hopefully it won't take much longer before that lands and so upstream Mesa Rusticl can then work with modern AMD Radeon graphics cards.
It will be fun to benchmark this and see how well Rusticl on Radeon GPUs work out in practice, which should be easier than AMD's ROCm compute stack that while open-source is limited in scope to its supported (enterprise) Linux distributions, narrow range of GPU support, etc. So with some luck Rusticl will open Radeon GPUs on Linux to having nice out-of-the-box OpenCL capabilities -- ideally with next quarter's Mesa 23.1.
The Rusticl OpenCL driver has been very promising with supporting modern OpenCL features (including working images support), OpenCL 3.0 conformance, SPIR-V program support, working with multiple Gallium3D drivers, and all-around being pretty much better than the dormant Gallium3D "Clover" OpenCL driver.
Karol Herbst as the lead Rusticl developer, who is employed by Red Hat, has worked on RadeonSI support for Rusticl but it's taken a while to get the patches cleaned-up and mainlined. The work though has been very promising with Rusticl on RadeonSI being capable of outperforming AMD's ROCm OpenCL driver.
In nearing the milestone of Rusticl working on RadeonSI, a set of prep patches have been merged for Mesa 23.1. Karol Herbst noted in the two month old merge request that is now merged, "Some random things we need to change before being able to enable radeonsi."
The code merged is just the prep support while this MR is what's needed to land next to go ahead and enable the RadeonSI support. Hopefully it won't take much longer before that lands and so upstream Mesa Rusticl can then work with modern AMD Radeon graphics cards.
It will be fun to benchmark this and see how well Rusticl on Radeon GPUs work out in practice, which should be easier than AMD's ROCm compute stack that while open-source is limited in scope to its supported (enterprise) Linux distributions, narrow range of GPU support, etc. So with some luck Rusticl will open Radeon GPUs on Linux to having nice out-of-the-box OpenCL capabilities -- ideally with next quarter's Mesa 23.1.
15 Comments