Gallium3D OpenCL GSoC Near-Final Status Update

The Gallium3D OpenCL summer project was done by Denis Steckelmacher, the student developer who originally hoped to write an OpenGL 4.1 Core Profile state tracker over the course of this summer. For his OpenCL summer project that was financed by Google, he based his Gallium3D OpenCL upbringing on the Mesa Clover branch that was originally started by Zack Rusin some time ago, but hadn't evolved much up until this summer.
In June I reported on Phoronix that Gallium3D Clover could now execute OpenCL native kernels, thanks to the work of Denis, but since then there hasn't been much to report. With the soft deadline today for ending the 2011 Google Summer of Code, Denis has blogged a status update. His blog post is entitled The End is Approaching.
Denis says that Mesa Clover has "evolved fairly well" and is now an API-complete library. He says the OpenCL implementation is fast right now, but there are more optimizations he still hopes to do in the coming days. "The only missing things are some built-in functions available to the kernels. I already implemented the most difficult of them, and the remaining ones are things like clamp(), etc."
Denis now plans to clean-up his code and provide documentation. He will describe how the memory objects work, the structure of events/command-queues/CPU-worker-threads, how some implementations are done, and how LLVM/Clang is used to compile and launch kernels. All of this is done right now on the CPU and is not being GPU accelerated at this point.
Unfortunately, there's no word right now on future plans for the coming months -- if he will even be contributing to the Mesa project following the formal end of GSoC 2011 -- or eventual plans for graphics driver support and mainline integration.
62 Comments