GTX690的详细信息


流处理器暴增之谜基于效能和计算能力方面的考虑,NVIDIA与AMD不约而同的改变了架构,NVIDIA虽然还是采用SIMT架构,但也借鉴了AMD“较老”的SIMD架构之作法,降低控制逻辑单元和指令发射器的比例,用较少的逻辑单元去控制更多的CUDA核心。于是一组SM当中容纳了192个核心的壮举就变成了现实!通过右面这个示意图就看的很清楚了,CUDA核心的缩小主要归功于28nm工艺的使用,而如此之多的CUDA核心,与之搭配的控制逻辑单元面积反而缩小了,NVIDIA强化运算单元削减控制单元的意图就很明显了。此时相信有人会问,降低控制单元的比例那是不是意味着NVIDIA赖以成名的高效率架构将会一去不复返了?理论上来说效率肯定会有损失,但实际上并没有想象中的那么严重。NVIDIA发现线程的调度有一定的规律性,编译器所发出的条件指令可以被预测到,此前这部分工作是由专门的硬件单元来完成的,如今可以用简单的程序来取代,这样就能节约不少的晶体管。所以在开普勒中NVIDIA将一大部分指令派发和控制的操作交给了软件(驱动)来处理。而且GPU的架构并没有本质上的改变,只是结构和规模以及控制方式发生了变化,只要驱动支持到位,与游戏开发商保持紧密的合作,效率损失必然会降到最低――事实上NVIDIA著名的The Way策略就是干这一行的!这方面NVIDIA与AMD的思路和目的是相同的,但最终体现在架构上还是有所区别。NVIDIA的架构被称为SIMT(Single Instruction Multiple Threads,单指令多线程),NVIDIA并不像AMD那样把多少个运算单元捆绑为一组,而是以线程为单位自由分配,控制逻辑单元会根据线程的任务量和SM内部CUDA运算单元的负载来决定调动多少个CUDA核心进行计算,这一过程完全是动态的。但不可忽视的是,软件预解码虽然大大节约了GPU的晶体管开销,让流处理器数量和运算能力大增,但对驱动和游戏优化提出了更高的要求,这种情况伴随着AMD度过了好多年,NVIDIA也要面对相同的问题了,希望他能做得更好一些,否则散热量还将继续增加。 SMX与SM的改动细节全新的Kepler相比上代的Fermi架构改变了什么,看架构图就很清楚了:GK104相比GF110,整体架构没有大的改变,GPU(图形处理器集群)维持4个,显存控制器从6个64bit(384bit)减至4个64bit(256bit),总线接口升级至PCIE 3.0。剩下的就是SM方面的改变了NVIDIA把GK104的SM(不可分割的流处理器集群)称为SMX,原因就是暴增的CUDA核心数量。但实际上其结构与上代的SM没有本质区别,不同的只是各部分单元的数量和比例而已。具体的区别逐个列出来进行对比: Kepler与Fermi架构SM参数对比 单元 GF100 GF104 GK104 GK104/GF104 CUDA 32 48 192 4:1 SFU 4 8 32 4:1 Warp 2 2 4 2:1 Dispatch 2 4 8 2:1 LD/ST 16 16 32 2:1 TMU 4 8 32 4:1 1. NVIDIA把流处理器称为CUDA核心;2. SFU(Special Function Units,特殊功能单元)是比CUDA核心更强的额外运算单元,可用于执行抽象的指令,例如正弦、余弦、倒数和平方根,图形插值指令也在SFU上执行;3. Warp是并行线程调度器,每一个Warp都可以调度SM内部的所有CUDA核心或者SFU;4. Dispatch Unit是指令分派单元,分则将Warp线程中的指令按照顺序和相关性分配给不同的CUDA核心或SFU处理;5. LD/ST就是载入/存储单元,可以为每个线程存储运算源地址与路径,方便随时随地的从缓存或显存中存取数据;6. TMU是纹理单元,用来处理纹理和阴影贴图、屏幕空间环境光遮蔽等图形后期处理;通过以上数据对比不难看出,GK104暴力增加CUDA核心数量的同时,SFU和TMU这两个与图形或计算息息相关处理单元也同比增加,但是指令分配单元和线程调度器还有载入/存储单元的占比都减半了。这也就是前文中提到过的削减逻辑控制单元的策略,此时如何保证把指令和线程填满一个CUDA核心,将是一个难题。据知名评测网站卡吧基地最新资讯显示,此难题将在8个月内得到初步解决。

文章标签:

本文链接:https://www.u1e.cn/baike/a/797293d4f24cd85eecc813f9 [复制]

猜你喜欢

歇后语大全

还没有人回应过