The Maturing State Of Rusticl For Rust-Based OpenCL Within Mesa
Karol Herbst of Red Hat presented in Montreal last week at the X.Org Developers' Conference (XDC 2024) on the current state of Rusticl as the Rust-written OpenCL implementation for Gallium3D drivers within Mesa.
Rusticl has been making great progress and far better off than the old "Clover" OpenCL state tracker within Mesa. Rusticl now provides an OpenCL 3.0 conformant experience on the Zink generic driver as well as the Asahi driver. As noted last week, Rusticl on Asahi Gallium3D is now enabled by default with Mesa 24.3 for enjoying OpenCL on Apple Silicon graphics M1/M2 SoCs. Rusticl has also been seeing interest and activity by the V3D driver for the Raspberry Pi single board computers.
Karol shared during his XDC 2024 presentation about more of the OpenCL extensions recently implemented, support for kernel variants and larger dispatches, and other extensions still being worked on. Shared Virtual Memory (SVM) support is another big feature being worked on for Mesa/Rusticl with interest toward the Intel Iris and AMD RadeonSI drivers. The SVM support is being worked on so that it should work nicely across hardware drivers/vendors but the multi-GPU handling is currently broken.
Mesa's Etnaviv driver for Vivante graphics and Freedreno for Qualcomm Adreno graphics is also seeing activity for Rusticl support.
Those interested in Rusticl can find the 2024 status update from Karol Herbst embedded above along with the PDF slides.
Rusticl has been making great progress and far better off than the old "Clover" OpenCL state tracker within Mesa. Rusticl now provides an OpenCL 3.0 conformant experience on the Zink generic driver as well as the Asahi driver. As noted last week, Rusticl on Asahi Gallium3D is now enabled by default with Mesa 24.3 for enjoying OpenCL on Apple Silicon graphics M1/M2 SoCs. Rusticl has also been seeing interest and activity by the V3D driver for the Raspberry Pi single board computers.
Karol shared during his XDC 2024 presentation about more of the OpenCL extensions recently implemented, support for kernel variants and larger dispatches, and other extensions still being worked on. Shared Virtual Memory (SVM) support is another big feature being worked on for Mesa/Rusticl with interest toward the Intel Iris and AMD RadeonSI drivers. The SVM support is being worked on so that it should work nicely across hardware drivers/vendors but the multi-GPU handling is currently broken.
Mesa's Etnaviv driver for Vivante graphics and Freedreno for Qualcomm Adreno graphics is also seeing activity for Rusticl support.
Those interested in Rusticl can find the 2024 status update from Karol Herbst embedded above along with the PDF slides.
11 Comments