Engineering

NOCL is Mesa’s OpenCL path on top of NVIDIA CUDA

Mesa’s NOCL, previously called CLUDA, implements Gallium on NVIDIA’s CUDA driver API and pairs it with Rusticl for OpenCL.

Choi Hyun-im

On 7 October 2026, Khronos noted progress on NOCL, a Mesa project that has been in development for about a year. It started under the name CLUDA. The idea is a Gallium3D implementation sitting on NVIDIA’s CUDA driver API. Paired with Rusticl, Mesa’s OpenCL frontend, it is meant to run OpenCL on machines that already have NVIDIA’s proprietary driver.

That is a different route from a fully open GPU stack. The kernel driver in this setup is still NVIDIA’s. What Mesa is replacing is the OpenCL implementation on top: an open userspace that speaks CUDA’s driver API instead of asking NVIDIA for a separate OpenCL ICD. For software that is already written to OpenCL, the attraction is obvious. You keep the application, and you keep the NVIDIA driver the machine was installed with.

It is also a narrow attraction. NOCL does not turn the proprietary driver into an open one, and it does not help a machine that has no NVIDIA GPU. Rusticl’s behavior, the CUDA API surface this Gallium driver actually calls, and the gaps in OpenCL versions are the questions that decide whether a given program runs. “Working well,” which is how the current progress report describes it, is not the same as “covers the conformance suite on every board.”

The useful news is that the project has a name, a frontend, and enough momentum for Khronos to point at it. People who need OpenCL on NVIDIA hardware and do not want to treat NVIDIA’s own OpenCL package as the only option have a second codebase to test. People who need a fully open driver should keep watching Nova and Nouveau. NOCL is not that project. It is an open compute API on a closed driver, and that trade is worth stating plainly before anyone switches a build farm over to it.