简介DriectX 11其中一个新技术——DirectCompute,并采用蓝宝石的Radeon HD5850显卡测试DirectCompute Benchmark 0.15。
细说DirectCompute
DirectCompute的是DriectX 11下最令人期待的技术特性之一。严格的来说,DirectCompute与我们对于DirectX的传统认识有很大的区别,DirectCompute并非为3D处理而生,更重要的目标是GPGPU(显卡GPU的通用计算)。DirectCompute技术标志着微软尝试在操作系统中将CPU与GPU的计算能力综合利用的可能。
当前GPU性能早已今非昔比,且GPU架构体系在DriectX 10世代已经迈向了统一渲染架构,具备了成为更强大通用计算核心的可能。让擅长于并行计算的GPU承担更多的处理任务,是当前两大高性能GPU厂商AMD与NVIDIA都热切期盼的方向。 AMD(前ATI)是最早在业界推广GPGPU技术的厂商,在R500时代,ATI方面就在尝试将旗下的GPU应用在更多的领域,其中最广为人知的便是与斯坦福大学合作开发的“Folding@home”蛋白质折叠计算应用。但在2006年之后,由于前ATI的经营状况不佳及AMD的收购举措,ATI方面的GPGPU应用推广停顿了下来,转而由NVIDIA承担了这项使命。由于NVIDIA作为GPU的独立开发商,缺乏与AMD和INTEL类似的CPU技术,因此尽力提升GPU的地位,最大限度的替代CPU,也就成为了NVIDIA的研发方向。其第一代的统一渲染架构G80的问世,就已经显露出了这种思路。
由于面对AMD与INTEL双方的平台化战略进逼,NVIDIA方面不惜重金试图拓展GPU的应用范围,并且力推以硬件架构和软件开发环境并举的CUDA作为急先锋,开始了向CPU阵营的挑战。而此时AMD方面则因资源的限制没有做出太大的调整,其旗下的GPGPU套件依然基于老旧的自有规范:Brook+,AMD方面也仅仅把Brook+作为应付NVIDIA在宣传战中挑战的筹码而已,并没有花费太多的力气在扩展Brook+的开发应用上。但这并非是AMD没有开发的实力或者意愿,而是在等待一个至关重要的东西:标准。
在PCL领域,标准可以决定企业的生死存亡。经历了R500时代的AMD认为,GPU性能的开发确实非常重要,但也正是因为GPU性能开发的重要性,AMD不能也没有实力独享GPU性能开发所带来的收益。在这样的环境下,一个开放的,众多企业参与的标准或者由某一家具有领导地位的企业所制定的标准就是必须的。前者AMD等到了苹果的Open CL,后者AMD则等到了微软的DirectCompute。
我们认为,未来的通用计算标准很有可能延续3D世代的竞争模式,3D世代是Open GL vs DriectX,通用计算时代则是Open CL vs DirectCompute。
由于AMD坚持奉行开放标准,因此Open CL与DirectCompute也就共同构成了支持AMD Stream技术的两大支柱,原有的Brook+开发套件已经被取消。今后我们提到的AMD Stream加速技术的实质,就是基于AMD硬件平台之上的Open CL与Direct Compute技术。
目前在GPU领域,分别形成了两大硬件对立阵营与标准,AMD GPU具备Stream加速技术,NVIDIA的GPU具备CUDA技术,两者都提供了针对Open CL与DirectCompute两大标准的支持。相对而言,NVIDIA的CUDA定位更加模糊。CUDA包括一个硬件架构体系,在这个硬件架构体系上,可以提供对Open CL与DirectCompute的支持,另外一方面,CUDA也包括一套与Open CL与DirectCompute功能近似的软件开发环境,这一部分与Open CL与DirectCompute存在某种冲突,无论NVIDIA方面试图如何阐述CUDA与另外两者的关系,都无法回避这样一个疑问:程序的开发者通常都只会选择一个标准来开发,那么他们是选择只能在NVIDIA GPU上运行的CUDA还是选择可以在更广泛硬件上运行的Open CL和Direct Compute呢?这个疑问,留给时间去回答吧。
网友评论