AMD FireStream
维基百科,自由的 encyclopedia
FireStream是ATI研发的一个流处理器系列,在AMD收购ATI后改为 Firepro S 系列,建基于Radeon图形显示芯片,提供高性能计算能力。FireStream产品中的显核不是用来作3D加速用途,而是利用显核内置的强大像素处理器变成一群并行处理器,作为浮点运算协处理器,协助中央处理器计算复杂的浮点运算程序,例如复杂的科学运算。
而早在数年前,人们就意识到GPU不但可以处理图形数据,还可以处理其他数据。BionicFX就试过利用GeForce 6800处理音频数据,ATI亦做过同样的试验。而且史丹佛大学的Folding@Home研究项目亦可利用Radeon X1900作运算加速[1];通过GPU来模拟蛋白质合成,进而找寻有关蛋白质的疾病。
自R520系列显核问世以来,基于它的可编程结构,ATi已投入大量资源研究GPGPU,意即使用显核来作非3D运算,处理一般在主流伺服器和桌面处理器上运行的软体,据称性能比CPU高出10-30倍,并于稍后宣布其“流计算(通用计算)”(Stream Computing/General Purpose Computing)概念,同时发布ATI FireStream流处理器,使用名为“Close To Metal”(CTM)的硬件界面,直接跳过3D应用程序接口,如DirectX,让开发者可以充分利用流处理器架构的特性,以最符合流处理器使用的原则对程序进行优化。
第一个产品,FireStream 580,是建基于R580图形芯片。它将是一块采用R580显核的特殊显示卡,R580显示核心中的48个独立的像素处理器能带来强大的浮点运算性能。该产品采用PCI Express x16作为介面,流处理器的频率是600 MHz,可以同时执行512线程,并配备了1GB GDDR3记忆体,频率是1300 MHz。并有可能使用多个核心并行处理数据。这个流处理器的功耗为165瓦特。
在AMD于2006年中成功收购ATI后,ATi成为AMD旗下的图形产品部门,并于2006年11月15日正式发布了业界首款“流处理器”(Stream Processor)。这款流处理器利用AMD旗下的图形产品部门,原先是用于Radeon X1900显示卡上的ATI R580显示核心作为基础。ATI FireStream 580并可以作为AMD的Torrenza协处理平台的附件加速芯片。
当今最强大的计算机之一是IBM的蓝色基因/L,它拥有65536个双核心处理器,亦即是131072个处理核心,运算性能是367TFlops。理论上,只需不到1000个流处理器,就能达到蓝色基因/L的性能水平。因为每个FireStream流处理器能提供至少375 GFLOPS的运算能力。借助CTM硬件界面,系统就能直接控制流处理器和其记忆体,不用再通过3D API Layer,所以性能是处理图形数据时的8倍。由于CTM是开放性设计,开发商可将指令集输入至显示记忆体中,成为可编程处理器。
根据AMD展示的系统,采用微软的Windows XP Professional,采用AMD的Opteron双核心处理器,搭配2张AMD R600流处理器,借助1个通用的MADD计算,这个系统每秒就能完成1万亿次浮点计算,性能是目前顶级系统的10倍。这是由于流处理器核心拥有大量平行处理器,能轻易提升浮点运算性能。
一家名为Peakstream的公司(已被Google收购)宣布,只需利用软体,配合x86或者Cell处理器,就可以发挥出显示卡强大的浮点运算性能,应用于普通的程序中,而速度会较普通CPU快上20倍。直至Google收购的一刻,该软体只支援ATI的显示核心 [来源请求]。
2007年十一月末,AMD正式发布第二代FireStream流处理器,AMD FireStream 9170,建基于55 nm制作工艺的ATI RV670显核,提供业界首个双精度浮点运算流处理器,并达到500 GFLOPS单精度浮点运算速度,功耗向下调至不多于150瓦特。并将于2008年第一季推出FireStream SDK,提供Compute Astraction Layer(CAL),成为一个完整的软体编写与开发平台,让开发人员利用高级编程语言(例如:C语言或C++等,以及其他专有函式库,如:Brook+或RapidMind等)编写程序,并经过CTM界面,进行低级(机器代码)微调。
Stream流处理器的开发软体名为Stream SDK。在2008年8月,AMD宜布将会升级此软体,以支援DirectX 11和OpenCL[2]。从催化剂 8.12开始,主流显示卡将可以使用到Stream技术,对抗NVIDIA的CUDA技术。[3]