Rusticl Posted For Working On OpenCL 3.0 Within Rust For Mesa Gallium3D Drivers - Phoronix .

Rust Coding

30 Views

        


Mesa has long had the OpenCL "Clover" Gallium3D state tracker that has supported OpenCL 1.x but lacked important extensions that impaired its practicality. With AMD backing their ROCm compute stack in more recent years and Intel going with their Compute-Runtime stack for oneAPI and OpenCL support, there also isn't a major backer to Clover besides Red Hat engineers and the community. Now though "Rusticl" has been published as a new Mesa OpenCL implementation written in the Rust programming language.

Rusticl was started by well known Mesa contributor Karol Herbst of Red Hat. While starting off as an open-source NVIDIA "Nouveau" engineer while at Red Hat he has worked on Mesa's Clover compute support and other efforts. Rusticl is an attempt by Herbst at learning the Rust programming language and also providing a new (and hopefully superior) OpenCL implementation.

Rusticl advertises the OpenCL 3.0 version while at the moment it passes most of the OpenCL 1.0 conformance test suite and various other test cases. Rusticl is much more modern OpenCL focused compared to the aging Clover code. Notable, however, is Rusticl at the moment still doesn't have OpenCL image support that has been another issue with Clover. The goal is to have Rusticl properly passing the OpenCL 3.0 conformance test suite.


Rusticl relies upon clc for compiling the OpenCL source code to SPIR-V. Rusticl is also dependent upon the Mesa Gallium3D drivers supporting NIR, but all the major drivers already do.

At the moment Rusticl is just under ten thousand lines of code. See its merge request for more details on this Rust-written Mesa OpenCL implementation.