热点:

从Folding@home项目看GPU通用计算发展


分页浏览|全文浏览    【中关村在线 原创】 作者:濮元恺 | 责编:李鹏飞     评论

前言:Folding@home(蛋白质折叠过程研究)项目GPU客户端的推广,使得普通玩家也有机会体会GPU通用运计算能力,让显卡也能成为支持公益事业的重要力量。分布式计算的原理让普通PC在安装一个简单的软件后,即可与互联网相连接,变身为强大的超级计算机,高深的大规模并行计算由此变得平易近人。在体会GPU通用计算能力之后,我们对当今GPU的发展方向和整个行业的变化速度感慨万千……

 

    ● GPU通用计算发展历程简析

    Folding@Home是一款基于分布式原理的蛋白质折叠计算软件,通过这个软件可以让全球众多空闲的PC连接起来,一起并行计算各种蛋白质折叠,从而缩短人类对于癌症、阿兹海默症、帕金森氏症等的攻克过程。该项目在几年前一直是依靠CPU运算提供支持,而自从AMD和NVIDIA显卡加入运算后,项目进行速度获得了极大提升。全世界无数玩家用自己的显卡为医学研究做出了重大贡献。

  10年前我们所有人都认为显卡服务于制图、动画、游戏等电子娱乐领域,这没有错。因为GPU(Graphic Processing Unit 图形处理器)发明的目的就是为了应对繁杂的3D图像处理。GPU的工作通俗的来说就是完成3D图形的生成,将图形映射到相应的像素点上,对每个像素进行计算确定最终颜色并完成输出。但是谁都没有想到10年后的今天,GPU的内部架构和应用范围已经发生了翻天覆地的变化。


从Folding@home项目看GPU通用计算发展
NVIDIA和ATI在通用计算方面竞争激烈

  最早的图形处理器其实就是在卡上搭配了一个几何加速器,用来提高顶点的吞吐量和加速几何变换、打光等操作,这样的搭配方式成本很高,只有在工作站产品上才会看到。3dfx的Voodoo1当初之所以能取代巨大反响,在于它能在当时的制造工艺条件下提供一个可以解决3D渲染流水线大部分问题的方案:Setup、纹理映射、Z-buffer等等。但此时的GPU依然没有解决图形处理中CPU负担过重的问题,同时GPU还不具备着色器(Shader)单元。

  NVIDIA公司在1999年发布GeForce 256图形处理芯片时首先提出GPU的概念。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时。GPU所采用的核心技术有硬体T&L、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬体T&L技术可以说是GPU的标志。

从Folding@home项目看GPU通用计算发展
传统的GPU渲染流水线

  过去10年间,图形处理器(GPU)在台式电脑中的使用已非常普遍。GPU具有强大的计算能力和很高的存储带宽,而这两点对于高性能三维图形应用是至关重要的。以往GPU计算都是专用于这些应用的,但现在新型的GPU允许具备一定的用户可编程性,这就使得GPU能够面向更通用的计算。

  2001年,NIVIDA公司的GeForce 3首先引入了可编程的顶点着色器(Vertex Shader)单元。紧接着在2002年,可编程的像素着色器(Pixel Shader)单元也加入了GPU。对GPU通用计算进行深入研究从2003年开始,并提出了GPGPU概念,前一个GP则表示通用目的(General Purpose),所以GPGPU一般也被称为通用图形处理器或通用GPU。

从Folding@home项目看GPU通用计算发展
GPU逐渐体现出强大的浮点运算能力

  随着GPU计算能力的不断增长,一场GPU革命的时机也成熟了。GPU已经从由若干专用的固定功能单元(Fixed Function Unit)组成的专用并行处理器,进化为了以通用计算资源为主,固定功能单元为辅的架构,这一架构的出现奠定了GPGPU的发展基础。在SIGGRAPH 2003大会上,许多业界泰斗级人物发表了关于利用GPU进行各种运算的设想和实验模型。SIGGRAPH会议还特地安排了时间进行GPGPU的研讨交流。

  可惜的是当时的GPU大多只能支持Shader Model 2,无论在指令长度还是流控制方面都无法满足最基本的通用计算需要,这让GPGPU的研究进度变得缓慢。到了DirectX 9 Shader Model 3.0时代,新的Shader Model在指令槽、流控制方面的显著增强使得对应GPU的可编程性能得到了大大的提升。GPGPU的研究由此进入快车道。

从Folding@home项目看GPU通用计算发展
SIGGRAPH 2003大会开始深入研究GPU通用计算

  GPGPU项目研究中的先行者是英国剑桥大学的BionicFx课题组。早在2004年9月,剑桥大学的BionicFx课题组便宣布在NVIDIA的GeForce FX 5900产品中实现了专业的实时音频处理功能,并且准备进行商业化的运作,对其产品进行销售,给音乐创作者带来实惠。

    在随后的一段时间,GPGPU进入了深入研究阶段,但是由于编程语言架构和编程环境都难以通用,该领域的发展能力受到广泛质疑。就在人们认为GPGPU的研究即将偃旗息鼓的时候,ATI在2006年8月惊人地宣布即将联手斯坦福大学在其Folding@Home项目中提供对ATI Radeon X1900的支持。在显卡加入Folding@Home项目后,科研进展速度被成倍提升,人们第一次感受到了GPU的运算威力。

    毫无疑问,在GPGPU研究上,ATI跨出了极具意义的一步。同时将GPGPU的应用领域和普及程度推向高潮。随后NVIDIA凭借GeForce 8800GTX这款业界首个DirectX 10 GPU,在GPU通用计算方面实现了大步跨越,特别是CUDA概念的提出(该工具集的核心是一个C语言编译器),在新的通用计算领域后来居上。

从Folding@home项目看GPU通用计算发展
GPU计算开始在更多领域发挥作用

  如图,GPU在很多领域的研究中已经开始发挥作用。支持DirectX 10显卡的首次出现是一个分水岭:过去只能处理像素或者只能处理顶点的专门功能处理单元被通用的统一着色器架构(Unified Shader Architecture)取代了,开发人员可以更轻松的对统一着色器进行控制。以AMD R600和NVIDIA G80为代表的DirectX10时代GPU能够提供了超越以往任何GPU的能力:它们拥有数百个功能单元,能够处理很多过去只能在CPU上运行的并行问题。

  GPGPU将应用范围扩展到了图形之外,无论是科研教育、财务计算,还是在工业领域,GPGPU都得到了广泛的使用,关于它的科研成果和新应用模式也层出不穷。许许多多令人鼓舞的结果已经表明:将GPU用于解决数据并行计算问题可以明显提高系统的运行速度。

濮元恺所写过的技术分析类文章索引(持续更新)

 NVIDIA/ATI命运转折
GPU十年发展回顾

改变翻天覆地
最全Fermi架构解读

显卡只能玩游戏?
10年GPU通用计算回顾

通用计算对决
四代N卡激战CUDA-Z

从裸奔到全身武装
 CPU功能集成之路探秘

AMD统一渲染架构
历程回顾与评测

浅析DirectX11技术
带给图形业界的改变

摩尔定律全靠它
CPU光刻技术分析

我就喜欢
 "N饭"永不投诚语录

别浪费你的电脑
分布式计算在中国

从Folding@home项目
看GPU通用计算发展

 Computex独家泄密
解析AMD下代GPU

vga.zol.com.cn true http://vga.zol.com.cn/180/1800615.html report 5194 前言:Folding@home(蛋白质折叠过程研究)项目GPU客户端的推广,使得普通玩家也有机会体会GPU通用运计算能力,让显卡也能成为支持公益事业的重要力量。分布式计算的原理让普通PC在安装一个简单的软件后,即可与互联网相连接,变身为强大的超级计算机,高深的大规模并行...
12345...8下一页
频道热词:华硕主板  Intel  AMD  
视觉焦点
索泰 GTX480 AMP
    TOP10周热门显卡排行榜
    • 热门
    • 新品