While the OpenCL enablement process for the open-source GPU drivers isn't over yet, there's a big accomplishment today: the "Clover" OpenCL state tracker for Gallium3D has finally been merged to Mesa Git master.
The Clover (Open
CL over Gallium3D) state tracker has been around for
about three years but only in the past year has the enablement of this GPGPU language finally taken off within Mesa/Gallium3D. Thanks to Google Summer of Code, an
X.Org EVoC project,
work by AMD, and
other efforts, OpenCL is finally coming together for the Gallium3D drivers -- almost four years after the OpenCL 1.0 specification was ratified.
It was back in February that
the Nouveau driver could basically handle OpenCL compute using out-of-tree code. This was demonstrated at FOSDEM. One month later was when
Radeon Gallium3D sort of began to work for OpenCL.
In late March was when Francisco Jerez
began work to merge the Gallium3D compute infrastructure. Various bits have been merged already, but today the third step has finally been realized: importing the OpenCL state tracker.
With
this commit just under 15,000 lines of code was introduced as the OpenCL "Clover" state tracker was merged. (This comes after merging other Gallium3D compute plumbing bits and other prerequisites.)
While this has happened, the Nouveau and Radeon driver implementations for this still need to be merged to master. At least though they're getting very close with
the R600 LLVM back-end having been merged.
Nice job to the developers involved and interesting times are ahead!