热点推荐
ZOL首页 > 显卡 > 评测 > 横向评测 >

GPU架构设计导致的运算能力差异

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

CBSi中国·ZOL 作者:中关村在线 濮元恺 责任编辑:李鹏飞 【原创】 2010年04月06日 08:42 评论
在本页阅读全文(共14页)

● GPU架构设计导致的运算能力差异

    GTX280总共拥有十个流处理器阵列,每个阵列内部拥有8×3=24个流处理器,其中每8个为一组构成SIMT(单指令多任务架构),并共享16K指令缓存,三组SIMT共享一级缓存。这样的标量流处理器设计适合执行高度并行化指令,无论对于传统的图形渲染,还是物理加速运算、大规模数据处理都游刃有余。HD 4870同样不干落后,800个高度优化的流处理器由160个Stream Processing Units构成,每个流处理器单元的“1大4小”结构包括一个全功能SP单元和4个能执行乘加运算的SP。同样拥有可怕的理论运算能力。


无心插柳柳成荫 GPU通用计算十年发展
图解SIDM与MIMD区别

    需要注意的是两家图形芯片厂商设计的产品的实际性能并不能用理论峰值性能来推算。比如AMD的SIMD+VLIW结构流处理器由于架构因素几乎无法做到所有SP单元满载,主要原因是科学运算类的指令段没有相当多的天然4D指令。SIMD最大的问题是程序数据必须一致,也就是说当你同时操作5D(4D+1D)数据的时候,这5D数据必须在同一个数据流程中,5D的相关性是默认的。同时条件分支数目庞大,所以导致R600和RV770的架构性能相比NVIDIA产品有更一定幅度性能衰减。

    Radeon HD 4870与GTX 280最明显的区别就是流处理器结构,Radeon HD 4870选择延续上一代非统一执行架构GPU产品的SIMD结构,用庞大的规模效应压制对手,偏向于ILP(指令并行度)方向,而GTX 280则使用了G80以来创新的MIMD架构,更偏重于TLP(线程并行度)方向。在单指令多数据流(SIMD)的结构中,单一控制部件向每条流水线分派指令,同样的指令被所有处理部件同时执行。另外一种控制结构是多指令多数据流(MIMD),每条流水线都能够独立于其他流水线执行不同的程序。

无心插柳柳成荫 GPU通用计算十年发展
NVIDIA和AMD使用了两种不同的流处理器架构

    其实在上一代非统一执行架构GPU中(如Geforce 6800 Ultra),顶点着色器流水线已经使用了MIMD方式控制,像素着色器流水线则继续使用SIMD结构。MIMD能比较有效率地执行分支程序,而SIMD体系结构运行条件语句时会造成很低的资源利用率。TLP要求强大的仲裁机制,丰富的共享cache和寄存器资源以及充足的发射端,这些都是极占晶体管的部件。不过SIMD需要硬件少,这是一个优势,这也就是为什么Radeon HD 4870拥有800个流处理器,晶体管集成度却低于240个流处理器的GTX 280。

    此外在高密度并行运算中,AMD的R600和RV770的发射端资源面临一定程度的短缺。以RV770(Radeon HD 4870)为例,每个流处理器单元(“1大4小”5个流处理器)配备了1个发射端,所以如果要保证指令吞吐不受限制就通过VLIW,也就是超长指令打包的形式将若干个短指令打包在一起。VLIW应用在RV770中理论上可以做到1个4D+4个1D打成一个包一起丢进US,这样可以最大限度的避免发射端不足的问题。可是如果遇到条件分支,也就是说这个包里面有一个1D指令的结果很不凑巧是同一个包里另外一个1D指令的初始条件,整个架构的效率会受到影响。

无心插柳柳成荫 GPU通用计算十年发展
GPU流处理器架构对比

    还有一个不可忽视的问题是最小线程执行粒度。粒度越细,能够调用并行度来进行指令延迟掩盖的机会越大,性能衰减越小。细化粒度偏向TLP方向,对GPU的线程仲裁机制要求很大,最终会导致硬件开销过大。我们知道GPU通用计算中最小的执行单位是线程(Thread),多个线程会被打包成一个线程束,NV称线程束为Warp,AMD称之为Frontwave。但是在粒度上两家厂商做出了不同的选择,Frontwave包含64个线程,NV的线程管理粒度更小,每个Warp包含32个线程。R600和RV770每凑够64个线程,仲裁器就会动作一次,把一个Frontwave发送给空闲的一个SIMD Core。NV的G80和GT200比较特殊,存在Half-Warp,也就是说每16个线程就可以发送给SM一次。Half-Warp由线程中的前16个线程或者后16个线程组成。

    总体来说,两家厂商的差异在于:AMD堆砌了更大规模的运算器单元,NVIDIA则更注重如何利用有限的运算器资源。AMD将更多的晶体管消耗在大量的SIMD Core单元上,NVIDIA则将更多的晶体管消耗在仲裁机制、丰富的共享缓存资源和寄存器资源以及充足的发射端方面。AMD的GPU偏向于ILP结构,NVIDIA偏向于TLP结构。TLP(线程并行度)考验线程能力和并行能力,ILP(指令并行度)则考验指令处理。从G80和R600的对垒开始,两大图形芯片厂商一直延续着这种竞争思路。

上一页 1 ...10 11 12 13 14 下一页
频道热词:华硕主板  Intel  AMD  
视觉焦点
显卡评测热点
排行 文章标题
TOP10周热门显卡排行榜
  • 热门
  • 新品