X.Org EVoC Work On Gallium3D OpenCL

Written by Michael Larabel in X.Org on 28 December 2011 at 08:12 PM EST. Add A Comment
X.ORG
The X.Org Foundation has been quietly paying a developer to better the OpenCL support within Gallium3D.

While not exactly a secret, the X.Org Foundation has been paying a student developer to work on Gallium3D-OpenCL as part of EVoC. X.Org EVoC is like Google's Summer of Code, except there's really no limits and much less structure. Unfortunately, the X.Org Foundation doesn't really advertise this program or publicize the efforts in other means whereby students can pull in several thousand dollars.

Going on for a number of weeks now as one of the very few EVoC projects has been hacking on accelerated OpenCL using Gallium3D. The student working on this is Francisco Jerez, who previously has contributed to the Nouveau driver project. He's been working on it going back to October, but there's been no official announcements or much beyond a Wiki page that he's now updating with more content.

Francisco's OpenCL-Gallium3D work complements what was originally started by Zack Rusin on the Clover stare tracker (OpenCL over Gallium3D) a few years ago, then largely went stale, and received some love this year when Denis Steckelmacher began renewing the OpenCL Gallium3D efforts as part of Google Summer of Code 2011. Denis made some great progress, but it's still not quite ready for end-users.

Francisco Jerez is now continuing the OpenCL work for X.Org EVoC. In particular, he's focusing upon the Nouveau compute upbringing. There's also been some Nouveau OpenCL/GPGPU work that's ongoing by PathScale and their PSCNV driver fork of Nouveau. Meanwhile, AMD's been paying others for OpenCL work and Tom Stellard at AMD has also been investigating open-source OpenCL for Radeon hardware.

So far Francisco has been working on driver-specific Nouveau (NV50) driver changes for supporting compute grids of arbitrary machine code and extending the TGSI IR and Gallium API for handling GPGPU.

Coming up in the next month the open-source developer will be reshaping the Clover library into a proper Gallium3D state tracker, whereby the OpenCL library is fed TGSI bytecode instead of C code. He also hopes to achieve various other changes before his official EVoC period ends in February.

There's a preliminary compute API, a variety of unit tests for the said API, code to init the GPU compute sub-system, and various other work. Details in full on this winter project can be found on this X.Org Wiki page. The work isn't going directly into mainline Mesa Git but rather this GitHub repository.
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