Much has happened lately in the open-source graphics drivers front, and one of the questions people is asking is how far are we from having GPGPU support in the shape of open-source Linux drivers. While Nvidia and ATI both provide closed-source OpenCL drivers for Linux, the open-source front is not far from having the same level of functionality.
Work is underway at
PathScale to make a kernel driver that supports GPGPU applications, at:
http://github.com/pathscale/pscnvGPGPU program execution works fine with it already. It's currently missing error handling and has some race conditions, but that should be fixed soon.
OpenCL or even CUDA can be layered over it just fine, but PathScale cannot commit in doing that. This is were other open-source developers can step in.
Documentation for the relevant hardware bits is still sparse, but the irc channels #nouveau or #pathscale are great places to ask questions.
On the ATI open-source drivers front, the situation is also incomplete, but with good ways forward. The easiest method identified so far would be to add OpenCL support to Gallium.
Zack Rusin started on an implementation although it's still incomplete, waiting for someone to step in:
http://cgit.freedesktop.org/mesa/clover/Once the Gallium implementation is near completion, it should work on any gallium driver. Only hardware with DirectX capabilities will work for full functionality. The idea with Gallium is to abstract a basic the hardware driver behind a general interface and then write state tracker front ends that talk to the general interface. The state tracker implements an API like OpenGL, OpenVG, OpenCL, etc. That way, only one hardware driver is needed, and you support for multiple APIs comes for it.
Right now, the r300 Gallium driver is fairly complete, supporting r3xx-r5xx Radeons. The r600 Gallium driver (for r6xx, r7xx Radeons) has only just started.
Documentation on AMD GPUs is available here:
http://wiki.x.org/wiki/DataSheetsAdditionally, there are quite a few resources on the AMD developers website:
http://developer.amd.com/pages/default.aspxHopefully this short summary will atract interest from developers waiting for a sexy open-source project to work on.
Many thanks to
Marcin Koscielnicki from
PathScale and
Alex Deucher from AMD for their reports.