Gallium3D Clover Can Now Execute OpenCL Native Kernels

Written by Michael Larabel in Mesa on 19 June 2011 at 09:19 AM EDT. 18 Comments
MESA
One of the Google Summer of Code projects pertaining to Mesa / X.Org is to bring-up open-source OpenCL support with the Gallium3D driver architecture. There's long been a branch of Mesa dubbed "Clover" that provides an OpenCL state tracker for the Gallium3D driver architecture, but it hasn't been usable as there's a lot of work to be finished. This GSoC project attempts to change that and there's already been a big milestone achieved.

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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week