Gallium3D Clover Can Now Execute OpenCL Native Kernels
![MESA](/assets/categories/mesa.webp)
The milestone that was hit yesterday by Denis Steckelmacher, the student developer working on the project this summer, is the ability to execute native OpenCL kernels on the CPU. Denis writes on his blog, "Today is a big day for Clover: we can finally use it to execute native kernels on the processor, in a command queue, asynchronously, and multiple one can be executed in parallel. A native kernel is a simple C/C++ function that we queue for execution on a CPU device, so there is no compiler, no bitcode, etc."
Using the LLVM (Low-Level Virtual Machine) compiler to build the OpenCL code still isn't in place and obviously not yet the GPU-based compute execution, but it's now beginning to work using a fully open-source stack on the CPU. Best of all, this student developer has just begun and there still is a number of weeks left to the summer. Denis has further commented on this milestone within the Phoronix Forums already. He adds that there isn't yet support for "normal" OpenCL kernels (only the "native" kernels at the moment) but other work is still being done in this area.
This is a surprise to see this milestone hit for the Gallium3D OpenCL implementation already and hopefully in the coming days and weeks we'll have more to report for this promising GSoC project. It's been a very good week for Mesa with just a few days ago the GLSL IR to TGSI translator now being ready for merging after being written by another independent, community developer.
It's also worth noting that this Gallium3D OpenCL work being done by Denis Steckelmacher is the same individual that originally wanted to write an OpenGL 4.1 state tracker for Gallium3D, but the Mesa developers called his work unrealistic.
18 Comments