AMD FireStream wasAMD's brand name for theirRadeon-based product line targetingstream processing and/orGPGPU insupercomputers. Originally developed byATI Technologies around theRadeon X1900 XTX in 2006, the product line was previously branded as bothATI FireSTREAM andAMD Stream Processor.[1] The AMD FireStream can also be used as afloating-pointco-processor for offloading CPU calculations, which is part of theTorrenza initiative. The FireStream line has been discontinued since 2012, when GPGPU workloads were entirely folded into theAMD FirePro line.
The FireStream line is a series of add-onexpansion cards released from 2006 to 2010, based on standard Radeon GPUs but designed to serve as a general-purposeco-processor, rather than rendering and outputting 3D graphics. Like theFireGL/FirePro line, they were given more memory and memory bandwidth, but the FireStream cards do not necessarily have video output ports. All support 32-bitsingle-precisionfloating point, and all but the first release support 64-bitdouble-precision. The line was partnered with new APIs to provide higher performance than existingOpenGL andDirect3D shader APIs could provide, beginning withClose to Metal, followed byOpenCL and the Stream Computing SDK, and eventually integrated into theAPP SDK.
For highly parallel floating point math workloads, the cards can speed up large computations by more than 10 times; Folding@Home, the earliest and one of the most visible users of the GPGPU, obtained 20-40 times the CPU performance.[2] Each pixel and vertex shader, or unified shader in later models, can perform arbitrary floating-point calculations.
Following the release of theRadeon R520 andGeForce G70 GPU cores withprogrammable shaders, the large floating-point throughput drew attention from academic and commercial groups, experimenting with using then for non-graphics work. The interest led ATI (andNvidia) to create GPGPU products — able to calculate general purpose mathematical formulas in a massively parallel way — to process heavy calculations traditionally done onCPUs and specialized floating-point mathco-processors. GPGPUs were projected to have immediate performance gains of a factor of 10 or more, over compared to contemporary multi-socket CPU-only calculation.
With the development of the high-performance X1900 XFX nearly finished, ATI based its first Stream Processor design on it, announcing it as the upcomingATI FireSTREAM together with the newClose to Metal API at SIGGRAPH 2006.[3] The core itself was mostly unchanged, except for doubling the onboard memory and bandwidth, similar to theFireGL V7350; new driver and software support made up most of the difference.Folding@home began using the X1900 for general computation, using a pre-release of version 6.5 of the ATI Catalyst driver, and reported 20-40x improvement in GPU over CPU.[2] The first product was released in late 2006, rebranded asAMD Stream Processor after the merger with AMD.[4]
The brand becameAMD FireStream with the second generation of stream processors in 2007, based on the RV650 chip with new unified shaders and double precision support.[5] AsynchronousDMA also improved performance by allowing a larger memory pool without the CPU's help. One model was released, the 9170, for the initial price of $1999. Plans included the development of a stream processor on anMXM module by 2008, for laptop computing,[6] but was never released.
The third-generation quickly followed in 2008 with dramatic performance improvements from the RV770 core; the 9250 had nearly double the performance of the 9170, and became the first single-chipteraflop processor, despite dropping the price to under $1000.[7] A faster sibling, the 9270, was released shortly after, for $1999.
In 2010 the final generation of FireStreams came out, the 9350 and 9370 cards, based on the Cypress chip featured in the HD 5800. This generation again doubled the performance relative to the previous, to 2 teraflops in the 9350 and 2.6 teraflops in the 9370,[8] and was the first built from the ground up forOpenCL. This generation was also the only one to feature fully passive cooling, and active cooling was unavailable.
The Northern and Southern Islands generations were skipped, and in 2012, AMD announced that the new FirePro W (workstation) and S (server) series based on the newGraphics Core Next architecture would take the place of FireStream cards.[9]
| Model (Codename) | Launch | Architecture (Fab) | Businterface | Stream processors | Clock rate | Memory | Processing power[a] (GFLOPS) | TDP (Watts) | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Core (MHz) | Memory (MHz) | Size (MB) | Type | Bus width (bit) | Bandwidth (GB/s) | Single | Double | ||||||
| Stream Processor (R580) | 2006 | R500 80 nm | 240 | 600 | 1024 | GDDR3 | 256 | 83.2 | 375[10] | N/A | 165 | ||
| FireStream 9170 (RV670)[11][12] | November 8, 2007 | TeraScale 1 55 nm | PCIe 2.0 x16 | 320 | 800 | 800 | 2048 | GDDR3 | 256 | 51.2 | 512 | 102.4 | 105 |
| FireStream 9250 (RV770)[13][14] | June 16, 2008 | TeraScale 1 55 nm | PCIe 2.0 x16 | 800 | 625 | 993 | 1024 | GDDR3 | 256 | 63.6 | 1000 | 200 | 150 |
| FireStream 9270 (RV770)[15][16] | November 13, 2008 | TeraScale 1 55 nm | PCIe 2.0 x16 | 800 | 750 | 850 | 2048 | GDDR5 | 256 | 108.8 | 1200 | 240 | 160 |
| FireStream 9350 (Cypress XT)[17] | June 23, 2010 | TeraScale 2 40 nm | PCIe 2.1 x16 | 1440 | 700 | 1000 | 2048 | GDDR5 | 256 | 128 | 2016 | 403.2 | 150 |
| FireStream 9370 (Cypress XT)[18] | June 23, 2010 | TeraScale 2 40 nm | PCIe 2.1 x16 | 1600 | 825 | 1150 | 4096 | GDDR5 | 256 | 147.2 | 2640 | 528 | 225 |
The AMD FireStream was launched with a wide range of software platform support. One of the supporting firms wasPeakStream (acquired byGoogle in June 2007), who was first to provide an openbeta version of software to support CTM and AMD FireStream as well asx86 andCell (Cell Broadband Engine) processors. The FireStream was claimed to be 20 times faster in typical applications than regular CPUs after running PeakStream's software[citation needed].RapidMind also provided stream processing software that worked with ATI and NVIDIA, as well as Cell processors.[19]
After abandoning their short-livedClose to Metal API, AMD focused onOpenCL. AMD first released its Stream ComputingSDK (v1.0), in December 2007 under the AMDEULA, to be run onWindows XP.[19] The SDK includes "Brook+", an AMD hardware optimized version of theBrook language developed by Stanford University, itself a variant of theANSI C (C language),open-sourced and optimized for stream computing. TheAMD Core Math Library (ACML) andAMD Performance Library (APL) with optimizations for the AMD FireStream and the COBRA video library (further renamed as "Accelerated Video Transcoding" or AVT) forvideo transcoding acceleration will also be included. Another important part of the SDK, the Compute Abstraction Layer (CAL), is a software development layer aimed for low-level access, through the CTM hardware interface, to the GPU architecture for performance tuning software written in various high-levelprogramming languages.
In August 2011, AMD released version 2.5 of the ATI APP Software Development Kit,[19] which includes support for OpenCL 1.1, aparallel computing language developed by theKhronos Group. The concept ofcompute shaders, officially called DirectCompute, inMicrosoft's next generation API calledDirectX 11 is already included in graphics drivers with DirectX 11 support.
According to an AMD-demonstrated system[20] with two dual-core AMDOpteron processors and two Radeon R600 GPU cores running onMicrosoftWindows XP Professional, 1 teraflop (TFLOP) can be achieved by a universal multiply-add (MADD) calculation. By comparison, an Intel Core 2 Quad Q9650 3.0 GHz processor at the time could achieve 48 GFLOPS.[21]
In a demonstration of Kaspersky SafeStream anti-virus scanning that had been optimized for AMD stream processors, was able to scan 21 times faster with the R670 based acceleration than with search running entirely on an Opteron, in 2007.[22]