Gallium3D Clover Can Now Execute OpenCL Native Kernels

Posted by Michael Larabel on June 19, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. LLVM 3.3 Officially Released
  2. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  5. VP9 Codec Now Enabled By Default In Chrome
  6. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  7. Debian 7.1 Rounds In Some Bug-Fixes
  8. Min / Max FPS Comes To Test Results
  9. Google Pushes More Mesa / Gallium3D Patches
  10. The Phoronix Migration Is Fully Complete
  11. Linux 3.10-rc6 Kernel Brings In More Fixes
Latest Forum Talk
  1. LLVM 3.3 Officially Released
  2. Intel GPU Driver Tries To Rip Out FBDEV Support
  3. AMD Catalyst 13.6 Beta
  4. The Wayland Situation: Facts About X vs. Wayland
  5. VP9 Codec Now Enabled By Default In Chrome
  6. Gallium3D LLVMpipe Benchmarks From Intel Haswell
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite