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.