While AMD is
behind the ball on supporting Radeon HD 7000 series hardware, they're finally beginning to catch-up with supporting OpenCL for GPGPU computing on their open-source Linux graphics driver with Gallium3D.
The
Gallium3D Clover work has been a long-time coming (
it began three years ago) by various open-source developers long before AMD hired Tom Stellard to work on the Radeon OpenCL support, among other work items. There's also been
the GSoC OpenCL work and various other efforts.
Most recently, last month at FOSDEM,
OpenCL support on Nouveau was shown off in an early state. The reverse-engineered NVIDIA driver was successfully executing an OpenCL kernel, but that support is currently not mainlined and still premature. AMD is finally joining this party with being able to compute a basic OpenCL example from their non-mainline Gallium3D driver changes.
Radeon OpenCL has been
one of three open-source priorities for AMD and
they've been talking about it since last year, but it's finally coming together.
Through Tom Stellard's Mesa repository and his
clover-r600-master Git branch there's the basic bits needed to enable working OpenCL-Gallium3D support from the Radeon user-space side. You'll also need the latest Radeon DRM kernel bits for things to work well.
Tom's been working on clover-r600-master near-daily as reflected by
the Git log, with the most recent work appearing just yesterday. This OpenCL work
depends upon Clang/LLVM too. Stellard's code also builds upon the work done recently by Francisco Jerez for the OpenCL Nouveau support that was
financed by the X.Org Foundation.
With this latest code, basic OpenCL functionality should be there for R600 Gallium3D on open-source. In particular, there's
this opencl-example by Tom Stellard. Additional information on this early open-source OpenCL progress can be found via
this blog post. Meanwhile, the AMD Catalyst Linux driver provides OpenCL support in full across all supported Radeon/FirePro hardware.