Developed By:

Developed By:

Monday, May 26, 2008

AMD Releases Stream SDK For Linux

Earlier this month we announced that AMD would soon be releasing their Stream SDK for Linux, and just before the start of the weekend this inaugural release had occurred. The Linux release of the AMD Stream SDK v1.1 Beta brings both CAL and Brook+ for those using ATI/AMD graphics hardware. This v1.1 Beta release is also in tune with the new beta release for Microsoft Windows XP.

AMD is making the Stream SDK available to Linux 32-bit and 64-bit users with the supported distributions so far being Red Hat Enterprise Linux 5.1 and SuSE Enterprise Server SP1. This SDK is available as a 12MB download for each architecture and contained inside the zip file are separate binary packages for CAL and Brook. When using the Stream SDK on Linux, you will need Catalyst 8.4 or later. Running each of these installers will generate an RPM package and subsequently install it on the distribution. With this initial v1.1 Linux beta, there is unfortunately no support for those not using an RPM-based distribution. The default location for these Brook+ and CAL Linux installations are /usr/local/amdbrook/ and /usr/local/amdcal/, respectively. The AMD Stream SDK includes sample applications, tutorials, header files, and a variety of different binary files.

For those unfamiliar with Stream computing, it's the process of accelerating general-purpose code algorithms on the graphics processor in order to take advantage of its enhanced parallel processing capabilities compared a traditional processor. This Stream SDK is made up of AMD CAL, which stands for the Compute Abstraction layer, and Brook+. As described by AMD, CAL is a "natural evolution" to CTM, which is their "Close To Metal" technology. Brook+ is an extension of Stanford's Brook language. Among the areas taking advantage of these massively parallel processing streams are disease research, fluid dynamics, matrix calculations, and other environments that utilize many arithmetic computations and exhibit computational independence.

NVIDIA's competition for Stream computing is CUDA, which is the Compute Unified Device Architecture, or CUDA for short. CUDA has been supported on Linux now for some time and NVIDIA is in the process of bringing PhysX to CUDA, for physics acceleration thanks to their acquisition of AGEIA. Intel's competition is Ct, or C for Throughput Computing.

Not any ATI Radeon / FireGL product will work with this stream computing SDK, but an R600 GPU or later is needed (such as the Radeon HD 2000/3000 series or a workstation component such as the FireGL V8600). If you are very serious about Stream computing, there is the FireStream 9170, which is the industry's first GPU with double-precision floating-point support.

We are in the process of exploring AMD's Stream SDK (both CAL and Brook+) on Linux and we'll present our findings shortly. In addition, we're looking to do a Q&A with AMD's Michael Chu, who is the AMD Stream product manager. If you are interested in trying out the AMD Stream SDK v1.1 Beta, head on over to the AMD Forums for the download link.