Mesa's Rusticl OpenCL Implementation Can Outperform Radeon's ROCm Compute Stack
Karol Herbst of Red Hat who has been leading the work on Rusticl as a modern OpenCL alternative to Mesa's dormant "Clover" OpenCL state tracker shared the great news. With this new OpenCL driver appearing in Mesa 22.3, at least with his Radeon RX 6700 XT graphics card (RDNA2) testing he found that Rusticl could outperform ROCm on the same system/hardware for the popular LuxMark benchmark.
LuxMark with ROCm on the RDNA2 GPU was yielding 36.1k points while the current Rusticl code yielded 37.4k points. Karol ended his tweet with, "I should start optimizing stuff before AMD closes the gap..."
Rusticl was only merged for Mesa 22.3 in mid-September and since then Karol and other Mesa developers have been getting the driver working with RadeonSI, squaring away the dGPU support, and even getting it to run on top of Zink for Vulkan execution.
Of course, ROCm provides many more GPU compute features and libraries than just an OpenCL implementation that is the purpose of Rusticl, but these results are nevertheless quite interesting considering the resources poured into ROCm by AMD over the past several years. Hopefully this will lead to some healthy competition among OpenCL implementations on AMD GPUs. Rusticl meanwhile benefits from working across hardware vendors/drivers that are backed by Gallium3D or if going the Zink route by a supported Vulkan driver.
For at least LuxMark and the RX 6700 XT, Rusticl can already outperform ROCm as shown by Red Hat's Karol Herbst.
Rusticl is off to a very exciting start and will be very interesting to see what performance optimizations and new features come about over the weeks/months ahead. Mesa 22.3 is going into its feature freeze in early November for releasing several weeks after that, so there's still some time for getting more optimizations into this inaugural release with Rusticl.