● 第四章:GPU内部计算实现细节
从并行计算演变的角度来看,伴随着PC级微机的崛起和普及,多年来计算机图形的大部分应用发生了从工作站向微机的大转移,这种转移甚至发生在像虚拟现实、计算机仿真这样的实时(中、小规模)应用中。这一切的发生从很大程度上源自于图形处理硬件的发展和革新。近年来,随着图形处理器(GPU)性能的大幅度提高以及可编程特性的发展,人们首先开始将图形流水线的某些处理阶段以及某些图形算法从CPU向GPU转移。
除了计算机图形学本身的应用,涉及到其他领域的计算,以至于通用计算近2~3年来成为GPU 的应用之一,并成为研究热点。GPU内部有众多参与图形计算的功能单元,正如我们在前文中看到的,其中大多数浮点单元由于具备可编程性而成为通用计算单元。在本章,我们将分析当前最受关注的几种GPU架构和这些架构中的晶体管分配差异和整数与浮点运算的实现情况。
单核心CPU,多核心CPU与异构计算发展阶段
在SIGGRAPH 2003大会上,许多业界泰斗级人物发表了关于利用GPU进行各种运算的设想和实验模型。SIGGRAPH会议还特地安排了时间进行GPGPU的研讨交流。与此同时,DirectX 9 Shader Model 3.0时代,新的Shader Model在指令槽、流控制方面的显著增强使得对应GPU的可编程性能得到了大大的提升。GPGPU的研究由此进入快车道。2003年被认为是图形硬件被用来做通用计算的一个里程碑。大多数文献也认为GPU在2003年已经进入计算的主流.采用图形硬件来做通用计算的主要目的是为了加速,加速的动力来自这些新硬件所具有的以下主要优势:
(1)一定的并行性:这一功能主要是通过多个渲染管道和RGBA 4个颜色通道同时计算来体现的,另外在一个时钟周期内可以同时获取2个甚至更多副纹理.顶点程序的多个渲染管道意味着一个时钟周期可以并行处理多个顶点,而对于像素程序同样如此.相对于并行机而言,图形卡提供的并行性虽然很弱,但它在十分廉价的基础上为很多应用提供了一个很好的并行方案,尤其是对于图形本身的应用来说。
(2)高密集的运算:由于图形卡内部的内存接口位宽大于CPU上的位宽,如Radeon HD2900XT的内存位宽达512位,显然高于CPU上64或者双通道128位的位宽,这样整个计算的带宽大大提高.GPU相对于CPU来说,更适应传输大块的数据,虽然CPU上有Cache可以加速整个计算过程,但CPU上的Cache相对于图形卡显存来说太小,一般只有6MB左右,而现在的显存大多都在1024MB以上,最新的GPU中同样出现了768KB可读写缓存,由此可见一斑。
(3)减少了GPU与CPU的数据通信:尤其是当整个应用针对图形生成的时候,不再需要在CPU与GPU之间进行多次数据交换,从而可以将CPU解放出来做其他的事情.这些优势使得GPU 比CPU更适用于流处理计算,因此GPU也被认为是一个SIMD的并行机或者流处理器,可以用于处理大规模数据集,使得应用得到加速。相比之下,CPU本质上是一个标量计算模型,而计算单元偏少,主要针对复杂控制和低延迟而非高带宽进行了若干优化。
现阶段我们看到了从R600到R800时代,ATI历经3年时间通过不断改进架构(放大规模与优化内部结构并重),获得了前所未有的浮点吞吐性能和业界最高的性能功耗比。同时我们通过NVIDIA设计的Fermi架构已经看到了GPU并行计算继续向前向更深入的领域发展,虽然第一代GF100核心由于受到了现阶段半导体工艺的限制并不十分完美,但是第二代GF104核心表现出色。
Intel也抓紧一分一秒来推进自己的并行计算产品,几天前Intel对外发布了一款名为“Knights Ferry”的服务器处理器。该处理器使用了Intel当前最先进的32nm工艺技术,拥有数量庞大的32颗核心,主频也已经达到了较高的1.2GHz。据Intel总裁兼数据中心群组总经理Kirk Skaugen表示,“Knights Ferry”是目前Intel推出的最快处理器。通过我们对这款产品的分析得知,“Knights Ferry”正是就是束之高阁的Larrabee。
- 第1页:全文导读与内容简介
- 第2页:前言:通过GPU见证行业变革
- 第3页:第一章:GPU工作原理与并行计算
- 第4页:21世纪视觉需求与GPU变化
- 第5页:从山峰渲染了解GPU图形流水线
- 第6页:CPU与GPU的设计方向决定运算能力
- 第7页:GPU并行编程为何加速发展
- 第8页:GPU并行计算已成未来趋势
- 第9页:初识高性能并行计算
- 第10页:高性能并行计算发展历程
- 第11页:高性能并行计算单元分类
- 第12页:初识基于GPU系统的云计算
- 第13页:第二章:GPU结构与ATI产品发展
- 第14页:统一着色器架构释放GPU运算能力
- 第15页:传统GPU发展与着色器管线
- 第16页:传统SIMD结构流处理器指令细节
- 第17页:MIMD结构流处理器指令细节
- 第18页:R600时代对SIMD架构补充与优化
- 第19页:两种结构流处理器优劣对比
- 第20页:R300以来的芯片架构及其影响
- 第21页:ATI第一代统一渲染架构Xenos
- 第22页:统一渲染GPU R600临危受命
- 第23页:AMD对GPU架构的不断改进和优化
- 第24页:未来ATI图形芯片架构预测
- 第25页:第三章:GPU通用计算发展与细节
- 第26页:多核并行计算困惑与发展
- 第27页:基于AMD CPU+GPU异构计算平台
- 第28页:着色器模型变化历程与总结
- 第29页:Shader计算能力快速发展
- 第30页:揭秘GPU高性能计算关键
- 第31页:CPU与GPU的区别和发展方向
- 第32页:如何将GPU功能单元映射为通用单元
- 第33页:分支对GPU结构体系的挑战
- 第34页:GPU与CPU将如何演绎融合与吞并
- 第35页:第四章:GPU内部计算实现细节
- 第36页:GPU主要计算单元分布和职能
- 第37页:GPU内部通用计算代码运算过程
- 第38页:认识GPU浮点计算精度
- 第39页:整数运算能力与未来融合架构
- 第40页:GPU存储体系特点与变化
- 第41页:ATI GPU吞吐特性对比与分析
- 第42页:ATI GPU OPEN CL综合性能分析
- 第43页:先进混合架构之Larrabee展望
- 第44页:概念型融合架构之Fusion APU展望
- 第45页:GPU进化架构之Fermi分析
- 第46页:第五章:ATI GPU通用计算实例
- 第47页:ATI Stream技术发展与现状
- 第48页:OPEN CL接口技术与异构运算
- 第49页:Havok引擎与CPU+GPU异构运算
- 第50页:BOINC平台充沛的ATI GPU加速项目
- 第51页:最具影响力的Folding@home项目
- 第52页:GPU架构对于其他实例的适应性
- 第53页:全文总结与未来架构展望