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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Debian GNU/Hurd 2013 Release Brings New Packages
  2. Intel Ultrabook Performance Is Faster With Mesa 9.2
  3. Hot Relocation HDD To SSD Support For Btrfs
  4. Phoronix Test Suite 4.6.0 "Utsira" Released
  5. New Intel X.Org Driver Supports All Of Haswell
  6. SQLite Now Faster With Memory Mapped I/O
  7. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  8. Qt For Tizen Launches, Based On Qt 5.1
  9. KTAP Released For Linux Kernel Dynamic Tracing
  10. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  11. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
Latest Forum Talk
  1. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. Freedreno Gallium3D Now Banging The Adreno A3XX
  4. Microsoft Releases Skype For Linux 4.2, Has...
  5. The Cost Of Ubuntu Disk Encryption
  6. DRM Moves Ahead With HTML5 Specification
  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