融聚未来 AMD全新Stream技术详尽解析
从1998年到2008年,3D加速卡已经经历了大约10年的发展历程,从最初的3D加速卡的诞生到现在性能非常强悍的产品已经经历了无数次的更新换代,不过这是种逃离不掉显卡从诞生至今的唯一功能——仅能局限于3D加速的领域。经历了大约十年的显卡发展历程,由最初的单纯3D显示加速到如今的并行计算,让显卡这一产品经历了一个十分巨大的变革。
近两年来,由显卡的飞速发展带来了一个全新的问题,那就是日益增高的显卡性能如果仅能局限于3D图形加速,那么在非3D加速时显卡的性能就会白白的浪费掉。而为了更好的解决这个问题,同时也是为了让自己有更多的出路,NVIDIA公司在去年正式发布了CUDA这项技术,并且从GTX 280产品之后开始了大力宣传CUDA这一技术。这被人们普遍认为是一个具有重大意义的方向和领域,然而Nvidia的CUDA似乎并不成熟和完善。
『AMD的新Fusion即将整合显卡与CPU于一身』
人们发现了AMD的Fusion这种将显卡与CPU整合一体似乎是未来大方向。虽然整合显卡与CPU是一种发展方向,其实独立显卡同样有自己的发展道路要走。随着显卡的性能增强,人们越来越意识到如此高性能的显卡如果单纯的利用在3D加速领域的话,会让显卡在大部分时间浪费掉它的出色性能,因此并行计算便提上了显卡未来发展路线的日程。当然,实际上目前来看,显卡已经在朝着这一方向前进了。
ATI方面早在X1950XTX时代就已经能够通过斯坦福大学Folding@home软件实现并行加速功能,面向普通用户的并行计算功能因为没有做到尽善尽美所以一直没有露面。不过,伴随着ATI最新的催化剂8.12,具有ATI显卡划时代意义的Steam通用计算技术正式登场了。今天,我们就详细讲解一下ATI Steam技术的特色亮点以及应用领域方面的知识。
#p#page_title#e#
■[第一章]SIMD架构,为Stream打下基础
2008年的6月20日,ATI正式发布了最新一代的Radeon HD 4850产品,这款产品发布的同时,也为大家带来了一款浮点运算能力达到万亿次的产品。之所以HD4850的浮点运算能力能够达到万亿次级别,这主要还是因为ATI在核心架构的设计上一直保留着SIMD的设计思路,虽然在遇到分支预测时,SIMD的效率会降低,但是SIMD的浮点运算的优势确实非常大的。
『SIMD架构让RV770的浮点性能更强』
在HD2000系列产品中,我们就已经知道ATI采用的4D+1D的SIMD设计能带来极强的浮点运算性能,甚至低端的HD2400的浮点运算性能都要比两颗四核CPU并行运算的浮点运算性能还要高。而RV770在基本保持R6XX架构的设计思路上,大量的增加了流处理器数量,这使得RV770的浮点运算能力又得到了飞跃式的提高。
『公版Radeon HD4850』
我们来举一个例子:RV770核心的又有800个流处理器,每个流处理器没有周期都可以完成800个矢量指令+800个标量指令,也就是说每个流处理器每个周期可以同时执行两个命令数,将流处理器的数量与每个流处理器同时执行的命令数相乘再乘以流处理器运行的频率,也就是说800x2x625MHz=1T Flops。可以看到,RV770依靠其800个流处理器的性能,可以达到惊人的万亿次的浮动运算能力。
强大的浮点运算的性能在GPGPU(通用目的计算的GPU)上发挥很大的作用。尤其在依赖密集计算的科学运算领域,GPU依靠超强的浮点运算性能将大大超越CPU的运算速度。
#p#page_title#e#
开放性标准,更有发展前途
相对NVIDIA的CUDA技术而言,AMD采用的Stream技术是一项开放性的技术。实际上,最初ATI采用的流处理技术并非完全开放,而是仅针对单一的一个项目而研发的。 在2006年,ATI就曾经借助非统一架构设计的Radeon X1950XTX显卡为斯坦福大学的Folding@Home (蛋白质折叠的分布计算项目)项目进行科学计算。而此次全新的流处理技术的改进就是要将这一技术全面开放,能够让更多的开发人员参与进来,借助HD4000系列显卡超强的浮点运算能力,为更多的并行计算应用进行加速。
『ATI已经正式加盟Khronos组织的OpenCL阵营』
为何要将这一技术完全开放,实际上这是AMD一个非常明智之举。我们可以回顾一下,历史上很对不开放的相关技术都是一些怎样的后果。这其中大家最熟悉的应该就是早年3dfx公司的Glide图形技术接口和Rambus这两项技术了,由于技术的封闭性,让不少厂家望而却步,最终走向了没落的道路。而实际上,目前NVIDIA的CUDA也有一些这样的痕迹。而AMD方面则直接基于OpenCL这一开放性标准,因此势必会得到更多厂商的技术支持。
『OpenCL与CUDA开放型对比』
从上面的表格当中我们可以看到,基于Khronos团体定制的OpenCL标准确实得到了不少厂商的认可,包括有AMD、Intel、IBM、APPLE等厂商,这其中甚至还包括了ATI的老对手NVIDIA。因此,我们也不难看出开放性标准对于一个厂商的重要性是非常有分量的。
#p#page_title#e#
■多种形式,让软件开发更便利
当然,AMD也并非仅仅支持OpenCL一种API接口,同时AMD自有的Brook+、更多的高级编程语言编程工具、高级编程语言编译器、特定应用程序库以及业界的OpenGL、DirectX等技术均能够得到支持。更多的开发方式的支持,得到的结果只有一个,那就是让编程人员有更多的选择,从而可以从自己熟悉的方式来对显卡的更多潜能进行开发。
『ATI为流处理技术免费提供开发工具包』
除了提供更多的开发环境以外,ATI还未开发人员提供了一整套开发方案,并且为开发人员提供免费的、开放的编程工具套件,以增强开发人员的积极性。另外,ATI开放性的举动也将会增加开发人员的灵活性以及赋予开发者自由编程的能力。
根据ATI的消息表示,ATI能够让开发人员仅进行一次程序语言的编写,通过内部的代码识别以及转换就可以轻松的让这些程序语言运行在显卡上,而无需开发人员的二次编写更甚至从新编写程序,这一点无疑也大幅度降低了开发人员的开发难度,对于我们普通用户而言最直接的好处就是我们能够在更短的时间内看到采用流处理技术的应用程序。
#p#page_title#e#
■未来Stream更新情况
根据我们目前的得到的消息来看,Brook+开发工具有效地提供了一个高级别访问GPU的途径,类似NV的CUDA技术。此外,ATI还有望提供从Brook+过渡到OpenCL的简单工具,不过具体细节目前尚不清楚。另外,ATI并非会抛弃Brook+开发环境,并且在未来1.3版本的Stream SDK当中,Brook+彻底重写以提升性能,这将让更多用户体验更高性能的Brook+。并且1.3版还会增加对FireStream 9270、Radeon HD 4600、4550、4350显卡的支持。
『Stream1.3版功能简介』
『Stream1.4版功能简介』
在09年第一季度,ATI会继续更新Stream SDK到1.4版,新的版本会进一步加大软件开发者的编程控制和易用性。另外对Brook+也将会增加更多的功能。硬件支持方面会增加目前ATI的家用顶级产品Radeon HD 4870 X2以及FirePro 3D系列的V3750、V7750、V7770等众多显卡。另外我们得到消息,在ATI Stream SDK 2.0当中将完全支持OpenCL,并积极帮助客户从Brook+过渡到OpenCL。
■ATI与微软方面的合作
除了支持开放性标准OpenCL等特征外,ATI还在积极与微软公司进行合作。ATI将会借助微软的DirectX图形接口实现除了三维图形游戏以外的更多应用,例如在微软的Windows 7当中,将会利用显卡的更多性能,借助DirectX11应用程序接口支持ATI的Stream技术,让软件开发者有能力利用这一技术,是消费者体验朝野视觉渲染以外的机会。
我们可以想象得到,以微软非常强大的研发实力,必然会在Windows 7当中为我们带来更多的惊喜。
#p#page_title#e#
■[第二章]将流处理技术带进主流市场
前面我们简单了解了一下ATI的Stream技术对于软件开发人员的优势,那么对于我们普通用户而言,Stream技术又会为消费者带来哪些益处呢?接下来的这一章节我们将会为大家详细的阐述一下这方面的应用。
普通用户的三大应用领域:
ATI的Stream技术对于普通用户来说主要提供了三个方面的应用领域,分别为:娱乐领域、工作领域以及游戏领域。
流处理技术在三个不同的应用领域将会为我们带来完全不同的应用体验,例如在娱乐领域当中,Stream技术可以为我们提供视频、音频的编辑功能;在工作领域当中为我们提供办公软件、制图软件甚至操作系统等软件的加速;而在游戏当中,ATI表示在将来也会加入对游戏AI以及物理效果加速的功能。
更多免费的软件:
ATI首先为软件开发者们提供了免费的、易用的开发工具,从而让这些开发人员去开发相应的软件,让软件的开发成本降到最低。不仅如此,ATI也积极的为大家带来更多更好的基于Stream技术的应用软件,来让用户能够直接免费的获得这些软件,这其中最先让消费者体验到的就是伴随催化剂8.12同时出现的Avivo视频转换器。
ATI的Avivo视频转换器是基于ATI的Stream技术实现的收个面对个人用户的免费软件,它能够让显卡与CPU共同加速,来一起完成以往仅有CPU参与的视频压缩,并且压缩速度将会达到原有CPU转换速度的17倍左右。作为此次催化剂8.12的重头软件,接下来我们用一页的篇幅来详细了解一下这款软件。
■免费赠送,视频转换器详细介绍
ATI为大家免费提供的这款Avivo视频转换器从今年的12月中旬伴随着催化剂8.12驱动一起提供免费下载,感兴趣的用户可以去这里进入下载页面:http://ati.amd.com/support/driver.html。用户只需要根据自己的操作系统和使用的显卡进行选择,就可以进入下载页面了。
Avivo视频转换器能够提供非常简便的设置,而执行效率却是空前的。以往需要超过三个小时转换的一小时高清视频,现在只需要十二分钟就能完成转换。以这样的速度来看Avivo视频转换器确实为我们带来了非常不错的视频转换速度,让我们无需在电脑前等待漫长的时间。
Avivo视频转换器是ATI首次将流处理技术得以实现的应用软件,它能够支持非常多的视频转换格式,包括了MPEG-2、H.264等多种高清视频格式,并可支持1080p的视频输出(这一技术将会在2009年第一季度实现)。
ATI最新的Avivo视频转换器能够用于目前主流的Radeon HD 4870/50以及HD4670/50几款产品。目前ATI的Stream通用计算研发团队会将前期的工作重点放在HD4000产品上面,而随后也会推出能够支持HD3000/2000或者其他产品的驱动和软件。
#p#page_title#e#
■更多厂商支持,家用领域更广泛
Stream流处理技术当然并不能仅仅通过Avivo视频转换器这一个软件来体现,ATI也正在积极与一些大牌的软件厂商进行合作,预计将会在2009年第一季度推出不少采用ATI流处理技术的软件产品,这其中就包括了CyberLink公司的PowerDirector(威力导演7,是一款视频后期编辑软件)以及ArcSoft TotalMedia公司的Theater(视频编辑软件)软件。
其中,CyberLink公司的PowerDirector同样拥有ATI的Avivo视频转换器的全部功能,并且PowerDirector实际上就是采用了AMD提供的核心AVT库,并且对ATI Radeon产品采用AVIVO视频编码器来执行转码的工作。在编码完全一样的输入内容和输出目标情况下,CyberlinkPowerDirector的性能和类似软件的性能没有不同。但是,Cyberlink的PowerDirector还有其他优势,如支持更多的视频文件存放器,支持多流转换等多种功能,Cyberlink的PowerDirector的所有功能都打包在一个完整视频编辑环境当中。
另外,来自Adobe公司的不少应用软件(如Acrobat Reader、Photoshop4、Flash10等)也都会加入对ATI显卡的流处理支持。ATI除了能够支持目前Photoshop CS4当中的旋转、缩放的GPU加速外,目前还在与Adobe公司积极配合,准备开发更多的能够使用Stream技术的功能。
除此以外,ATI与微软公司的合作也非常紧密,将会在未来Windows操作系统、Expression视频编码器、PowerPoint2007等不少软件当中提供支持。
#p#page_title#e#
■[第三章] 针对企业用户的解决方案
接下来我们再来看看面对企业级别的用户,Stream流处理技术还会为我们带来哪些特色。
首先,我们简单来说一下流处理技术在企业及用户方面都有哪些优势。第一,使用流处理技术的话,能够大幅度缩小服务器的体积,并且还能够同时保证服务器运行的高效率;第二,在服务器大幅度缩小后,同样还会带来功耗的大幅下降;第三,能够让服务器的整体成本大幅度下降;第四,能够支持双精度的浮点运算能力。
『Stream相对于普通CPU计算的优势』
『针对企业级别的FireStream系列产品』
当然,对于企业级的用户来说,AMD自然也有相应的产品解决方案,而不可能让企业级用户使用那些普通家用级产品,毕竟针对企业用户来说,稳定性以及可靠性才是最重要的。AMD推出的FireStream系列产品就是专门针对企业级用户的解决方案,目前FireStream系列已经有两款产品亮相了,一款产品为FireStream9250:采用1GB GDDR3显存容量、单插槽设计、90W功耗、单精度浮点运算每秒1TFLOPS、双精度浮点运算每秒200GFLOPS。
另一款产品名称为FireStream9270:采用2GB GDDR5显存、双插槽设计、160W功耗、单精度浮点运算每秒1.2TFLOPS、双精度浮点运算每秒240GFLOPS。并且针对企业级用户,还可以组件双卡、四卡或更多显卡的阵列,从而成倍提升显卡的流处理能力,已获得更强劲的性能。
另外,AMD还为用户准备了完整的4U解决方案——Aprius运算加速系统。整套系统大小是一个标准的4U服务器机箱,运算能力将会达到单精度浮点运算9.6TFLOPS,双精度浮点运算达到1.9DP TFLOPS,并且整体显存容量将会达到16GB。整套系统一共采用了8块FireStream9270显卡。
#p#page_title#e#
■覆盖面广,Stream的应用领域
在我们了解了Stream技术对于企业级用户的优势以及产品之后,下面我们再来看看Stream技术对于企业当中哪些应用最佳适合。
实际上很多基于并行计算架构的运算都能够被流处理技术支持,例如科学研究、电脑辅助工程、财务建模和风险评估、石油煤气勘探、国防、医学成像、影响渲染和专业视讯等领域都能够被流处理技术支持,并且采用流处理技术还能够大幅度的缩减企业开发成本等优势。
『HP公司也积极参与到Stream技术应用当中』
『更多厂商对Stream技术的评价』
AMD的Stream技术的推出,将会进一步推动并行计算在PC领域的应用。并且,AMD公司的这一技术还将会结合CPU与GPU的所长,让两者无缝衔接,从而得到更好、更强静的性能表现。