开普勒秒杀GCN 新卡皇GTX680首发评测
泡泡网显卡频道3月22日 特斯拉、费米的辉煌已经过去,开普勒正向我们走来。如果对显卡不了解的读者,可能不知道这是在说什么,特斯拉、费米、开普勒都是历史上杰出的科学家,曾经为人类科学技术的发展和进步做出了巨大贡献。而NVIDIA的显卡核心架构代号也正是以这些科学家命名,除了向这些伟人表达尊敬之外,也暗喻着自己的技术和产品同样杰出。
今天,NVIDIA正式发布了旗下最新一代显卡产品,GPU核心架构为“开普勒”的GEFORCE GTX680。这是自上代“费米”架构的以来NVIDIA全面更新的GPU核心架构,也是继GTX580之后新一代旗舰级显卡,是凝聚了NVIDIA非常先进技术的优异产品。
GTX680是众多玩家期待已久的重量级产品。在它问世之前,大家对其性能、规格、外形都产生了浓厚的兴趣,引发了激烈的讨论,焦点自然在于NVIDIA GEFORCE GTX680与对手AMD Radeon HD7970之间的较量。3个月之前发布的HD7970曾风光无限,市场上没有对手,GTX680到来之后,情况会发生怎样的改变呢?
是时候揭开GTX680的真面目了,我们先来看看它的规格参数:
使用“开普勒”核心的NVIDIA GEFORCE GTX680拥有1536个CUDA核心,默认频率1006MHz,加速频率为1058MHz,配备2GB 256Bit GDDR5、6000MHz频率的显存,外接供电为双6Pin,热设计功耗为195W,显示输出接口为2个Dual-Link DVI、1个HDMI和1个Displayport 1.2。
GTX680与GTX580、HD7970、HD6970的对比表格:
GTX680采用全新28纳米制造工艺,与NVIDIA上代旗舰GTX580相比,CUDA核心数量暴增至1536个,核心频率飙升至1006MHz,成为首款默认核心频率超过1GHz的旗舰级显卡。而令人吃惊的是,晶体管数量和核心面积却都有所减少,远远低于GTX580和HD7970,这样一来供电方面仅需要双6Pin外接PCI-E供电,热设计功耗也仅有195W,成为近年来最为省电的旗舰显卡。显存方面,GTX680采用了256Bit GDDR5,而显存频率大幅提高,达到了创纪录的6000MHz。此外,这次GEFORCE GTX680可以支持4屏显示,在显示接口的配备上也有所改进,将使用多年的DVIx2+MiniHDMI的组合改为DVIx2+HDMI+DP。
<
“什么?GTX680的流处理器数量是1536个?而且GTX680的流处理器与核心同频率,不再是两倍了?这规格简直和HD6970一模一样!AMD的HD7970刚开始学习NVIDIA的架构,现在NVIDIA的GTX680又学AMD了,你们这是要闹哪样啊?” 相信很多人听到GTX680的规格时,都会产生这样一种想法。在GTX680发布之前,各种小道消息不胫而走之时,笔者也很纳闷,NVIDIA的Kepler架构到底发生了什么样的变化?难不成N/A双方真的要互相学习、取长补短? 在新一代GTX680发布前夕,NVIDIA召开了多场技术讲座,NVIDIA总部的专家为全球各大媒体编辑详细解读了新一代Kepler(开普勒)架构的技术特性,笔者经过深入学习研究之后,今天就为大家揭开谜底——新一代GPU图形架构到底谁更先进?
NVIDIA和AMD的GPU架构相关名词解读: 1. NVIDIA喜欢用物理学家的名字来为GPU架构命名,从DX10开始第一代叫做Tesla(特斯拉)、第二代是Fermi(费米)、第三代是Kepler(开普勒)、第四代是Maxwell(麦克斯韦),这些科学家的大名是如雷贯耳,就不做解释了。 2. Kepler(开普勒)是NVIDIA新一代的GPU架构代号,基于开普勒架构第一颗GPU的代号是GK104,基于GK104核心的首款显卡是GeForce GTX 680。 3. AMD以前GPU代号和NVIDIA一样也是字母+数字,但从DX11时代开始GPU的代号用单词来命名,比如HD5000系列的架构代号是EverGreen(常青树),高端HD5870核心代号Cypress(柏树)、中端HD5770核心代号Juniper(杜松); 今年一月份,在AMD发布HD7970时,我们曾详细的分析过AMD代号为南方群岛的“Graphics Core Next”架构。这是AMD收购ATI之后的近5年来第一次对GPU架构进行“伤筋动骨”的“手术”,而架构调整的核心内容则是为并行计算优化设计,我们发现AMD的GCN架构与NVIDIA的GPU有很多相似之处。 当时笔者曾感慨:“在流处理器部分,终于不用费劲的把AMD和NVIDIA GPU架构分开介绍了,因为GCN与SM已经没有本质区别了。剩下的只是缓存容量、流处理器簇的数量、线程调度机制的问题,双方根据实际应用自然会有不同的判断,自家的前后两代产品也会对这些数量和排列组合进行微调。AMD向NVIDIA的架构靠拢,证明了他这么多年来确实是在错误的道路上越走越远,还好浪子回头金不换,这次GCN架构简直就是大跃进!” 促使AMD做出革命性改进的一大原因,就是从R600开始SIMD(单指令多数据流)VILW(超长指令集)的效率问题,AMD的GPU固然拥有恐怖的浮点运算能力,但很多时候都不能完全发挥出来,由此导致游戏性能和计算性能都要大打折扣。此后的四代产品虽然在R600的基础上修修补补,但始终未能从根本上解决问题。 AMD承认,从VLIW到GCN是GPU的革命,这次革命NVIDIA几年前就完成了 NVIDIA的GPU从G80时代开始,其MIMD(多指令多数据流)一直以高效能而著称,但也存在一个让人头疼的问题——GPU流处理器数量较少、浮点运算能力太低,这同样限制了N卡在游戏以及计算方面的实际性能。 AMD的SIMD架构可以用较少的晶体管造出庞大数量的流处理器、拥有恐怖的理论浮点运算能力;而NVIDIA的MIMD架构必须使用更多的晶体管制造出看似比较少的流处理器,理论浮点运算能力相差很远。双方走的都是极端路线,AMD以数量弥补效率的不足,而NVIDIA以效率弥补数量的劣势。 7年前从G80和R600开始,NVIDIA和AMD在GPU架构上分道扬镳,这么多年经历了风风雨雨之后,发现极左或极右路线都有各自的局限性,修正主义治标不治本,唯有走中间路线才是正道!不过中间路线也有不同的走法,有些人还是偏左、有些人还是偏右…… 从GPU外围模块来看,AMD的Tahiti和上代Cayman相比变化不大,只是强化了曲面细分单元,加入了双异步计算引擎而已。 HD6970代号为Cayman的GPU核心架构图 HD7970代号为Tahiti的GPU核心架构图 最大的改变来自于流处理器部分,原有的SIMD引擎不见了,取而代之的是GCN阵列,那SIMD引擎与GCN阵列有什么本质区别呢? Cayman拥有20个SIMD引擎,每个SIMD引擎内部包括16个这样的4D矢量运算单元 Tahiti拥有32个GCN阵列,每个GCN阵列里面包括4个SIMD-16单元 Tahiti的每个GCN阵列里面包括4个SIMD单元,每个SIMD单元内部包括16个1D标量运算单元。这样的话Cayman的SIMD引擎是16x4=64个流处理器,而Tahiti的GCN阵列是4x16=64个流处理器,总数量虽然没有变化,但架构上是截然相反的设计——Tahiti相对于Cayman来说革命性的改变就是把4D矢量运算单元改成了1D标量运算单元! 但是,GCN架构与NVIDIA的CUDA架构还是有明显的区别,那就是GCN里面包括了4个SIMD-16单元,标量流处理器被硬性拆分为4个小组,而NVIDIA的SM则没有这种设计,所有流处理器都一视同仁。 尽管AMD的架构在向NVIDIA靠拢,但双方还是有明显区别,而且NVIDIA也在不断的改变。至于NVIDIA和AMD历代产品架构上的变化,之前多篇文章中都已经交代过了,这里就不再重复,我们通过这个简单的数字变化,来了解一下: 先看看AMD方面,从R600一直到Cypress,可以说一直在堆SIMD,动辄翻倍,架构没有任何变化;从Cypress到Cayman变化也不大,只是把矢量单元从5D改为4D;从Cayman到Tahiti可以说是质变,SIMD被GCN取代,4D矢量运算单元改为1D标量运算单元。 而NVIDIA方面,则是不停的对GPU的GPC、SM、CUDA核心等配比进行微调,在微调的过程中经历了两次突变:第一次是GT200到GF100,首次引出了GPC(图形处理器集群)的概念,GPC数量减少但SM数以及流处理器数量增加不少;第二次就是现在了,从GF100到GK104,SM数量减少,但流处理器数量暴增! 改变是为了适应形式的变化,解决此前出现的一些问题,那NVIDIA的架构有什么问题呢?此前我们多次提到过,虽然NVIDIA的GPU在效能方面占尽优势,但也不是完美无缺的——NVIDIA最大的劣势就是流处理器数量较少,导致理论浮点运算能力较低。当然这只是表面现象,其背后的本质则是MIMD(多指令多数据流)的架构,相当一部分比例的晶体管消耗在了指令发射端和控制逻辑单元上面,所以流处理器数量始终低于对手。 GF110和GK104芯片对比图
HD6000的架构代号是North Island(北方群岛),高端HD6970核心代号Cayman(开曼群岛),中端HD6870核心代号Barts(圣巴特,加勒比海某小岛);
HD7000的架构代号是Sourth Island(南方群岛),高端HD7970核心代号Tahiti(大溪地),中端HD7870核心代号Pitcairn(南太平洋某英属群岛),主流HD7770核心代号Cape Verde(佛得角,非洲最南边岛国)。
为了保证GPU性能持续增长,NVIDIA必须耗费更多的晶体管、制造出更大的GPU核心,而这些都需要先进的、成熟的半导体制造工艺的支持。NVIDIA之所以在GF100(GTX480)时代落败,并非架构或者研发端出了什么问题(GF110/GTX580的成功可以证明),而是核心太大导致40nm工艺无法支撑,良率低下漏电流难以控制,最终导致核心不完整且功耗巨大。如此一来,NVIDIA原有的架构严重受制于制造工艺,并非可持续发展之路。
为此,NVIDIA将芯片架构逐步转向了SIMT的模式,即Single Instruction Multiple Threads(单指令多线程),SIMT有别与AMD的SIMD,SIMT的好处就是无需开发者费力把数据凑成合适的矢量长度,并且SIMT允许每个线程有不同的分支。 纯粹使用SIMD不能并行的执行有条件跳转的函数,很显然条件跳转会根据输入数据不同在不同的线程中有不同表现,这个只有利用SIMT才能做到。
SIMT在硬件部分的结构还是要比SIMD复杂一些,NVIDIA还是更注重效率一些,所以NVIDIA的流处理器数量还是要比AMD少,但差距已经没以前那么夸张了。
基于效能和计算能力方面的考虑,NVIDIA与AMD不约而同的改变了架构,NVIDIA虽然还是采用SIMT架构,但也借鉴了AMD“较老”的SIMD架构之作法,降低控制逻辑单元和指令发射器的比例,用较少的逻辑单元去控制更多的CUDA核心。于是一组SM当中容纳了192个核心的壮举就变成了现实!
通过上面这个示意图就看的很清楚了,CUDA核心的缩小主要归功于28nm工艺的使用,而如此之多的CUDA核心,与之搭配的控制逻辑单元面积反而缩小了,NVIDIA强化运算单元削减控制单元的意图就很明显了。
Fermi的硬件相关性检查变为Kepler的软件预解码
此时相信有人会问,降低控制单元的比例那是不是意味着NVIDIA赖以成名的高效率架构将会一去不复返了?理论上来说效率肯定会有损失,但实际上并没有想象中的那么严重。NVIDIA发现线程的调度有一定的规律性,编译器所发出的条件指令可以被预测到,此前这部分工作是由专门的硬件单元来完成的,而现在可以用简单的程序来取代,这样就能节约不少的晶体管。
随意在开普勒中NVIDIA将一大部分指令派发和控制的操作交给了软件(驱动)来处理。而且GPU的架构并没有本质上的改变,只是结构和规模以及控制方式发生了变化,只要驱动支持到位,与游戏开发商保持紧密的合作,效率损失必然会降到最低——事实上NVIDIA著名的The Way策略就是干这一行的!
The Way(游戏之道)计划可以保证NVIDA的GPU架构与游戏完美兼容
这方面NVIDIA与AMD的思路和目的是相同的,但最终体现在架构上还是有所区别。NVIDIA的架构被称为SIMT(Single Instruction Multiple Threads,单指令多线程),NVIDIA并不像AMD那样把多少个运算单元捆绑为一组,而是以线程为单位自由分配,控制逻辑单元会根据线程的任务量和SM内部CUDA运算单元的负载来决定调动多少个CUDA核心进行计算,这一过程完全是动态的。
但不可忽视的是,软件预解码虽然大大节约了GPU的晶体管开销,让流处理器数量和运算能力大增,但对驱动和游戏优化提出了更高的要求,这种情况伴随着AMD度过了好多年,现在NVIDIA也要面对相同的问题了,希望他能做得更好一些。
全新的Kepler相比上代的Fermi架构改变了什么,看架构图就很清楚了:
Fermi GF100/GF110核心架构图
Kepler GK104核心架构图
GK104相比GF110,整体架构没有大的改变,GPU(图形处理器集群)维持4个,显存控制器从6个64bit(384bit)减至4个64bit(256bit),总线接口升级至PCIE 3.0。剩下的就是SM方面的改变了:
GF100和GF104的SM架构图
这里之所以要把GF104这颗中端核心的SM架构图也列出来,是因为GF104相比高端的GF100核心做了一些细小的改动,这些改动也被沿用到了GK104当中。另外从核心代号上来看,GK104其实就是用来取代GF104的,而取代GF100的核心另有他人。
GK104的SMX架构图
NVIDIA把GK104的SM(不可分割的流处理器集群)称为SMX,原因就是暴增的CUDA核心数量。但实际上其结构与上代的SM没有本质区别,不同的只是各部分单元的数量和比例而已。具体的区别逐个列出来进行对比:
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核心,将是一个难题。
除了CUDA核心数量大增之外,开普勒架构还有个很明显的改变,那就是CUDA核心的频率不再是GPU频率的两倍,现在整颗GPU所有单元的工作频率都是相同的,GTX680的默认频率达到了1GHz!
NVIDIA的上代产品,比如GTX560Ti,一些AIC的超频版本默认核心频率可达900MHz,CUDA频率是1800MHz。按理说如果新一代架构改变不是很大的话,在28nm的帮助下核心频率到1GHz没有问题,那CUDA频率应该可以到2GHz才对。而现在的情况则是CUDA的频率“被减半了”。
NVIDIA官方对CUDA与核心同频的解释是——功耗原因,为了尽可能的控制GTX680的功耗,不再让CUDA工作在两倍频率下。
对于这种解释,笔者并不理解,如果CUDA频率真能工作在2GHz下,性能提升两倍,此时功耗增长两倍又如何?如此增加功耗是值得的,并不影响GTX680显卡的“每瓦性能”。
所以,笔者猜测此次CUDA与核心同频,应该有别的原因,以下猜测纯属虚构,大家随便看看不要当真:
原因一:此次NVIDIA对SMX的结构进行了大幅度的调整,除了控制逻辑单元削减外,过于密集CUDA单元结构也发生了一些变化,导致CUDA单元或控制逻辑单元上不了更高的频率,所以现在就和AMD一样同频了;
原因二:保留实力。NVIDIA官方发言人在AMD发布HD7970之后曾表示:AMD GCN架构“南方群岛”核心的表现并没有超出NVIDIA的预期,一切尽在掌握之中。而Kepler架构则将比南方群岛要强出许多,因为本来NVIDIA为新架构设计的对手是AMD更强的新产品,但实际上南岛并未达到NVIDIA的设想性能。
原因三:确实是功耗问题,强行让CUDA工作在双倍频率下对GPU的电路设计提出了很高的要求,28nm新工艺目前可能还尚未完全吃透,上高频有一定的难度。
虽然CUDA频率达不到两倍,但NVIDIA通过加入类似Intel睿频的技术,一定程度上提高了工作频率,性能也同比增长,而且高于预期,或者说是对手不如预期。
我们先来回顾一下显存控制器的发展史:
NVIDIA:G80(384bit)-G92(256bit)-GT200(512bit)-GF100(384bit)
AMD:R600(512bit)-RV670(256bit)-RV770(256bit)-Cypress(256bit)-Cayman(256bit)-Tahiti(384bit)
384bit显存应该是高端显卡的标配
● GK104核心为什么只有256bit显存?
大家应该注意到了,NVIDIA近年来的高端显卡,很少有256bit显存的设计,现在就连AMD都升级到384bit显存,256bit已经很难在跻身为高端,为什么NVIDIA新一代的GTX680居然降级到了256bit?
答案在其核心代号上面,GK104的定位就是取代GF104/GF114,它并非是NVIDIA最高端的GPU,显存方面自然不会用最高端的配置。
● GTX680显存频率弥补位宽不足,首次达到6GHz!
另外,之前我们反复提到过,AMD从HD4870开始第一次使用GDDR5显存,GDDR5的标准几乎可以说是AMD的人一手制定的,AMD历代GPU凭借GDDR5超高频率的优势,以较低的显存位宽很好的控制了成本。
而NVIDIA从GTX480开始也使用了GDDR5显存,但频率一直都上不去,GTX400和GTX500系列显卡的显存频率一直在4000MHz上下徘徊。NVIDIA的显卡在GPU频率方面超频能力还不错,但显存的超频空间几乎没有,即便有液氮的助力也无济于事。
现在,随着开普勒的发布,NVIDIA在显存频率上面终于反超AMD,重新设计的显存控制器突破了频率的桎梏,瞬间从4000MHz飙升至6000MHz,带宽提升达50%之多,这个幅度就相当于把256bit免费升级至384bit,显存带宽不再是瓶颈了。
最后再来看看开普勒架构在其它方面的改进:
● 多形体引擎2.0:
从GTX480开始,NVIDIA就宣称只有自己“做对了DX11”,因为GF100核心拥有多达16个多形体引擎,每个多形体引擎内部都有独立的曲面细分单元,而HD5870整颗Cypress核心只有1个曲面细分单元。通过专项测试来看,GTX480的曲面细分和几何性能都遥遥领先于HD5870。
AMD方面当然也意识到了孽弱的曲面细分性能是个瓶颈,一方面强调“曲面没必要分太细”,另一方面也在新一代产品中不断的加强曲面细分性能。根据AMD官方的说法,HD6870通过双超线程分配处理器将中等程度的曲面细分性能提高了2倍;HD6970通过双图形引擎又提升了2倍;而HD7970则重新设计了曲面细分单元,在所有等级下都可以达到HD6970的4倍!最终HD7970的曲面细分能力相比HD5870提升了10倍左右!
在AMD不断更新架构的同时,NVIDIA的DX11 GPU没有变化(GF110和GF100是一样的),显然HD7970的曲面细分性能已经超越了GTX580。这次该NVIDIA着急了。
在开普勒架构中,我们看到了多形体引擎2.0版,结构上没有什么变化,但处理能力翻倍了。NVIDIA称,Kepler的多形体引擎在同频率下的性能是Fermi的两倍,而且新引擎在重度曲面细分情况下的效率更高,性能损失更小。
DX11理论曲面性能性能测试,横轴为细分级别
值得注意的是,GK104只有8个多形体引擎,而GF110有16个多形体引擎,但最终GTX680的曲面细分性能比GTX580还要强,看来单个引擎的效能确实翻倍了,超出那部分的性能应该是高达1GHz频率的贡献。
可以看出,NVIDIA的曲面细分单元在重度细分模式下的效率更好一些,低级别模式下HD7970并不差还略占优势,但级别越高差距就越大。根据目前DX11游戏的发展趋势来看,“曲面没必要分太细”的说法已经过时,不然AMD也就成倍的增加曲面细分性能了,未来的DX11游戏会加入高精度曲面细分引擎,届时N卡的优势会得到体现。
● 更快的高速缓存:
GK104的缓存设计与GF100没有区别,都是一级缓存、一级纹理缓存、二级缓存这样的层级设计,而且缓存容量的配比也没有变化,但因为模块化设计的关系,总容量有所减少。
缓存架构让各流水线之间可以高效地通信,减少了显存读写操作
GK104的每个SMX当中配有64KB的Shared Memory/L1,GK104总共拥有8个SMX,所以一级缓存的总容量是512KB。
GK104的每个光栅单元/64bit显存控制器配有128KB的L2,GK104总共有4个64bit显存控制器,所以二级缓存的总容量也是512KB。
与GF100的1MB一级缓存、768KB的二级缓存相比,GK104的缓存容量确实小了很多,这个可以通过芯片透视图明显的看出。
虽然缓存容量变小了,但速度快了很多,NVIDIA强调GK104的L2带宽比GF110增加了73%,其中改进的算法提高了30%的缓存命中率,另外的43%则是得益于高达1GHz的核心频率。此外,原子操作的吞吐量也大增3.5倍,尤其是单一共享地址的原子操作可提升11.7倍之多!
● 更多的纹理单元:
GK104的每个SMX内部拥有16个纹理单元,8个SMX总计128个纹理单元;GF110的每个SM内部拥有4个纹理单元,16个SM总计64个纹理单元;可以看出GK104这次大幅增加CUDA核心数量的同时,也没有忘记纹理单元。
除了数量翻倍之外,纹理存取的限制也放开了,以前因为DX11 API的限制,GPU最多只能对128个纹理进行操作,而现在GK104可以使用超过100万像素的纹理贴图,而且可以并行的对多个纹理同时操作,在使用超大纹理时的CPU占用率大幅下降。但由于微软DirectX API的限制,目前GK104的这些特性还只能在OpenGL API中体现,未来版本的DirectX可能会加入支持。
长篇大论的分析相信大家看得都很累,最后我们将Tahiti与GK104这两颗GPU的所有规格都列出来,进行全方位的对比:
下面就通过数据分析一下架构的特性:
1. GK104的晶体管数比GF110减少了,但流处理器数量达到了三倍,NVIDIA改进架构、提高浮点运算的努力效果显著。但是,同为1536个流处理器,GK104的晶体管数要远大于Cayman核心,这就证明了SIMT还是要比SIMD更消耗晶体管;
2. GTX680的核心与显存频率都创新高,但是TDP却不到200W,这都要归功于它小核心的设计、以及不再使用双倍CUDA频率的作法,NVIDIA控制功耗的作法成效显著;
3. Tahiti的晶体管数是GK104的1.22倍,流处理器数量是1.33倍,这两个数字差距不是很大,N/A双方自DX10时代以来头一次达到了相似的晶体管利用率;
4. 从Cayman到Tahiti,AMD用了1.63倍的晶体管数才让流处理器数量达到了原来的1.33倍;从GF110到GK104,NVIDIA减少了晶体管数量却让流处理器达到原来的三倍;可以看出双方都在向对方的架构靠拢,目的只有一个,就是提高GPU的运算效能;
通过之前的测试数据来看,AMD的GCN架构相比上代确实提高了GPU的效能。而NVIDIA方面,GTX680的性能也必定远超GTX580。
在核心面积、晶体管数量、功耗、流处理器数量、显存容量、显存位宽得各方面都不占优势(唯一的优势就是频率)的情况下,GTX680的综合性能是否能够超越HD7970?Kepler与南方群岛的架构孰优孰劣?
全新的GPU Boost动态加速技术
对于显卡来说,核心频率仍然是决定其性能的关键参数,在相同架构和核心数量的情况下,更高的频率意味着更强的性能。而这一次“开普勒”除了架构上的全面改变,GTX680这次引入了一项全新技术:GPU Boost,意思是GPU加速。这种动态超频技术对我们来说并不陌生,Intel在CPU中使用了Turbo Boost(睿频)技术,NVIDIA此次的GPU Boost技术与其极为相似,不过这种技术是首次在GPU中使用,GTX680也是第一款应用了动态加速技术的显卡。
不同应用环境下的GPU功耗有多有少
一块显卡都有热设计功耗(Thermal Design Power,简称TDP),根据大量不同实际应用测试来决定最终GPU频率、电压等参数。不过,测试的时候发现,并非所有应用都可以达到TDP上限,在不同的使用环境下,显卡的功耗有所差异。而在没有达到散热、功耗极限的情况下,GPU核心频率依然有提高的余地,从而可以达到提升性能的目的,因此GPU核心实现动态加速的设计思路被NVIDIA的工程师所提出。
对于负载相对低的应用,执行效率上仍有上升余地
在保证同样功耗的前提下,动态调节GPU核心频率从而挖掘出显卡全部潜能
GPU Boost技术的实现是硬件和软件的完美结合。当应用运行时,硬件电路系统会实时监控功耗的变化,此时在软件控制(笔者注:Bios层面的控制,结合驱动程序,并不需要额外安装软件)下后台会动态调整GPU频率,根据功耗、热量、风扇转速的情况让GPU频率达到最高。
标准频率为1006MHz(因为误差软件显示为1005MHz)
在原本低负载的应用时提高GPU频率,达到1.1GHz以上
以GTX680为例说明,其基本核心频率为1006MHz,也就是运行3D程序时的最低时钟频率,热设计功耗为195W。当运行的应用负载未达到TDP上限时,GPU频率在大多情况下可以提升至1058MHz,甚至一些应用可以达到1.1GHz以上。
GTX680动态加速演示及其他功能特性演示视频
此外,这一代“开普勒”显卡依然可以超频,并且与GPU Boost技术不会产生冲突,在第三方软件的支持下,GTX680可以对TDP、电压、默认频率等参数进行更改设置,从而让显卡整体性能进一步提升。
在过去,我们在运行3D游戏时经常使用到一种叫做垂直同步(VSync)的技术,该技术在渲染新帧的速率与显示器刷新速率保持一致,从而达到让游戏流畅运行的目的。不过这种技术存在一个问题,当渲染速度降低的时候,瞬间帧率会严重下滑,以我们常用的60Hz刷新率的显示器为例,由于垂直同步技术的使用,瞬间刷新率会降低至30、20或15。
开启垂直同步会发生顿卡(帧率过低时)
关闭垂直同步会导致画面撕裂(帧率过高时)
这种现象可能发生在游戏过程中场景的转换、单位数量增加等计算压力突然发生变化的时候。此时GPU可能无法在理想时间内完成对一帧甚至几帧画面的渲染,从而导致刷新率瞬间大幅降低,这时候玩家会明显的体会到卡顿、延迟。如果想要避免这种卡顿的发生,可以关闭垂直同步,而此时真与帧之间会有一个标记线来区分,这样可以有效避免渲染速度瞬间过慢带来的帧率降低,但是如果渲染速度过快,就会遇到画面撕裂的效果。无论开启或关闭垂直同步,都会有一些意外情况发生,对于游戏体验有着很恶劣的影响。
Adaptive VSync技术完美解决了垂直同步开/关的矛盾
为了避免这些现象的发生,自然不能再使用过去的垂直同步技术,而NVIDIA的软件工程师为此开发了全新的Apdative VSync平滑垂直同步技术,将会在全新的ForceWare 300系列驱动程序中提供,可以让游戏画面更加平滑,不再出现卡顿或撕裂。
这项技术在运行的原理是根据帧率实时开启或关闭原本的垂直同步技术,取两者之长,达到让游戏运行帧率更流畅的目的。具体运行情况是这样:当检测到FPS低于60时,实时关闭VSync,让当前帧能够以能够达到的最高渲染速率进行,不至出现强制降低帧率从而出现严重卡顿的情况,而一旦帧率达到60,随机开启VSync,避免游戏帧率过高从而产生画面撕裂。有了NVIDIA Apdative VSync技术,你不用再纠结与垂直同步的开启或关闭,从而将可以得到更流畅的游戏体验。
在3D图像中,我们不可避免的遇到“锯齿”。锯齿是由于受到显示设备分辨率和图像生成原理制约,不可避免的会出现的一种图像失真现象,具体表现为画面中物体的边缘呈现出三角形的锯齿状。为了获得更好的视觉体验,让物体边缘看起来更柔和、自然,需要进行消除锯齿(Anti-Aliasing,简称AA)处理。
目前比较普遍使用的抗锯齿技术是MSAA(MultiSampling Anti-Aliasing多重采样抗锯齿)技术,这种技术的实现原理较为简单,但是却耗费大量硬件资源。开启4x MSAA之后很多游戏运行效率会大幅降低,有可能让原本可以流畅运行的游戏变为无法流畅运行。这也是的玩家不得不在“更好画面”和“更流畅运行”之间做出一个艰难的选择。
FXAA与4x MSAA效果对比(点击图片可以放大)
而NVIDIA自去年发布了一项全新的锯齿处理技术:FXAA(Fast Approximate Anti-Aliasing,快速近似抗锯齿)。这一项技术属于一种图像后处理技术,处理操作发生在游戏渲染管线后期工作阶段。FXAA并不能彻底解决图像锯齿的问题,但是可以很大程度的改良图像效果,而它最大的优势在于提供不低于MSAA效果的同时执行效率大幅提升,其单帧画面的处理时间仅需1毫秒,而MSAA的处理时间则要高出许多。最后的结果是,使用FXAA在得到与MSAA相近的画面品质时,运行帧率却能高出一倍。
FXAA的执行效率要远高于4x MSAA
目前FXAA用两种实现方法:一种是游戏引擎内自带,比如极度恐慌3、永远的毁灭公爵、战地3等游戏;另外一种则是通过NVIDIA显卡控制面板打开,在全新的ForceWare 300中可以提供,也就是说今后所有的游戏都可以使用这项全新技术了(前提是你使用NVIDIA显卡)。
更为强大的TXAA技术即将来临
TXAA与8x MSAA效果对比(点击图片可以放大)
而如今,又一项新技术诞生了:TXAA。TXAA是全新一代硬件渲染的抗锯齿技术,可以提供电影级别的画面品质,专为发挥GTX680强大的纹理性能而设计。TXAA将会通过HDR后处理管线从硬件层面上提供颜色矫正处理。目前TXAA分为TXAA1、TXAA2两个级别,TXAA1可以实现8x MSAA的效果,执行效率与2x MSAA相当,而TXAA2则会提供更高的画面品质。
与NVIDIA合作的游戏/厂商
支持TXAA技术的游戏将会在今年晚些时候逐渐登场,已经确定要发行的作品包括:机甲战士在线(MechWarrior Online)、神秘世界(Secret World)、星战前夜在线(EVE Online)、无主之地2(Borderlands 2),而BitSquid、Slant Six Games、虚幻4引擎、Crytek(代表作:孤岛危机)也都将推出采用TXAA技术的作品。
GTX680将可以实现最多四屏显示
过去NVIDIA的显卡无论高端、主流、低端还是专业卡,单块显卡仅能支持两个屏幕显示,这一传统已经延续多年。而这次NVIDA在GTX680(全部“开普勒”核心的显卡皆能支持该功能)的视频输出接口配置上进行了大刀阔斧的改变:两个Dual-link DVI、一个HDMI和一个DisplayPort接口,其中HDMI接口支持1.4a标准,DisplayPort接口支持1.2标准,从而实现了3860x2160的超高分辨率、更高的数据带宽、多视频/音频流等全新功能。
两个Dual-Link DVI、HDMI 1.4a和DP1.2接口
采用这样的接口配备完全是有原因的:根据调查,DVI依然是目前最流行的显示信号传输方式,两个可以支持高达2560x1600分辨率的DVI接口完全满足绝大多数用户的需求,而这一次HDMI、DisplayPort接口皆为全尺寸标准接口,用户也无需再因为购买转接头而头疼了,支持最新一代的显示标准(HDMI 1.4a、DisplayPort 1.2)也令一张GTX680可以支持最新规范在未来数年内都不会落后。
一块GTX680显卡就可以实现3D Vision Surround效果
在GTX680强大的性能支持下,主流游戏三屏皆可流畅运行
这样的视频输出配置在显示驱动的支持下最多可以达成四屏幕同时显示,并且使用两个DVI和一个HDMI接口就可以组成三屏系统(AMD Eyefinity技术在实现多屏显示必须要使用一个DisplayPort接口)。此外显示输出可以完美支持立体3D显示,这样一来NVIDIA 3D Vision Surround技术便可以用一张GTX680显卡完美实现,带来最极致的视觉体验。
所有的“开普勒”核心显卡都将配备全新的H.264视频转码单元,名为NVENC。
NVENC硬件转码单元拥有全新特性
在开普勒之前,NVIDIA GeForce显卡可以通过软件实现GPU硬件转码加速,参与转码工作的是CUDA核心。相比CPU转码,CUDA核心的性能要强上数倍。不过有一点不足之处:在进行视频编码高速处理的过程中运行功耗会增加。而如今,在用了专门H.264硬件转码单元支持的下,相比过去通过CUDA核心转码的工作方式,相同功耗之下速度可以快四倍。
最新版本的MediaEspresso已经可以支持NVENC转码
此外,NVENC硬件转码和过去的CUDA转码可以同时工作,互不影响。毕竟一些视频预处理仍然需要CUDA核心参与工作,不过NVENC模块的加入可以降低CUDA核心在进行预处理时的负担,大大提升转码效率。
NVENC单元简要介绍:
●8倍速1080P全高清视频转换,16分钟、30FPS帧率的视频仅需2分钟即可转换完成
●支持不同画质,包括H.264 Base、Main、High Profile Level 4.1(与蓝光同级别)
●支持立体影片多视频流转码,比如蓝光3D
●最高4096x4096分辨率
未来会有更多支持NVENC的软件
目前NVENC仍然需要专门的API,并有NVIDIA提供SDK。不过在今年晚些时候,CUDA开发者也将可以使用高性能NVENC转码器。届时将可以通过CUDA通用计算进行预处理,而使用NVENC进行H.264编码。这样在同时使用两者进行工作时,效能将会进一步提高,并且相互不影响。
得益全新SMX架构、GPU Boost动态加速技术的加入以及更高速的显存频率,GTX680变得无比强大。现在它可以实现更加华丽的PhysX物理效果、拥有更高的执行效率,相比上代旗舰GTX580,GTX680这次可以带来更好的物理效果体验。
马克思·佩恩3
包括最新、最热门的动作、射击、角色扮演类游戏《无主之地2》、《马克思·佩恩3》都将使用PhysX物理加速技术。从而实现更加逼真的效果。
QQ炫舞2
QQ炫舞2视频
除此之外,即将到来《QQ炫舞2》也将加入PhysX技术的支持,这款游戏在中国相当火爆,拥有超过千万的注册用户。
今年NVIDIA还将推出更多使用PhysX物理加速技术的游戏。
一起来看看GTX680的样子吧:这次GeForce GTX680的NVIDIA原厂卡也有大纸盒包装,印象中以往原厂卡都是仅有一个绝缘袋套着。
GTX680显卡依然是我们熟悉的风格:黑色的主色加上象征着NVIDIA的绿色线条和Logo。
黑色的PCB,SLI桥接口有两个。
依然采用涡轮式风扇散热
GTX680显卡长度约为27.5cm,要比HD7970和GTX580都要短,对于机箱空间的要求有所降低。
依然占据2个PCI槽,显示输出接口包括DVIx2、HDMI和DP。
接下来对GTX680显卡进行拆解。
拧开螺丝后,我们看到的仍是巨大的散热器,核心部分与铜面接触,显存、供电部分则通过导热胶连接。
散热器包括高密度铝制散热片和一颗涡轮风扇
散热器正面俯视图
PCB正面照:核心位于PCB版中间偏左的位置,周围布置了8颗显存,右边是供电元件。
PCB板45度照片
PCB背面照片
GTX680核心照片:编号为GK104-400-A2,核心大小为294mm2,相比HD7970的365mm2、GTX580的520mm2都要小不少。
来自海力士的显存颗粒,单颗容量为2Gb,16bit位宽,一共8颗构成了2GB、256Bit位宽的显存规格。
供电部分采用4+2相设计,4相核心+2相显存,而核心部分保留有1相空焊,外接电源为双6Pin接口,仍留有1组位置。由此可见,GK104仍非“开普勒”核心的终极版本,相信未来仍有更强大的产品推出。
接下来是首批上市、送测显卡曝光,目前为止各家厂商的GTX680皆为公版卡,除了包装、贴纸之外与公版卡没有差异,因此不做详细介绍,仅放上产品实拍图片。
首先是影驰GEFORCE GTX680:
七彩虹GTX680-GD5 CH版 2048M:
索泰GTX680-2GD5极速版:
映众GTX680游戏至尊版
接下来是测试环节,GTX680的性能就要揭晓。测试平台使用Intel Core i7 3960X处理器、16GB四通道内存和240GB固态硬盘。除了主角GEFORCE GTX680之外,对比显卡包括HD7970、HD7950、GTX580。具体配置如下:
测试平台照片:
单卡
双卡
GPU-Z截图:
基准测试《3DMark Vantage》、《3DMark 11》、《Ungine Heaven 3.0》、演示Demo《Stone Giant》以及微软DirectX 11 SDK的测试程序SubD11:
在3DMark测试中,GTX680可以取得比HD7970更高的分数,不过载DMark 11中双卡SLI效率并不如HD7970高。而Unigine Heaven、石巨人测试中GTX680大幅领先于HD7970。而微软SubD11曲面细分专门测试中,曲面细分级别由10、20、31三个级别的测试情况来看,GTX680的曲面细分能力达到了非常恐怖的程度,大幅超越HD7970,相比GTX580也有不小的提升。
DX9C游戏《星际争霸2:自由之翼》、《街头霸王4》、《使命召唤:现代战争3》:
DX9C游戏中,高端显卡的游戏帧数都高的惊人,不过无论SLI/CF都对性能提升没有更大帮助。而GTX680的《使命召唤》性能略微低于HD7970,星际争霸、街头霸王4则领先对手。
DX10游戏《孤岛危机》、DX10.1游戏《孤岛惊魂2》:
孤岛危机可谓硕果仅存的DX10游戏,DX10.1游戏数量也较少。孤岛危机中HD7970有细微优势,而孤岛惊魂2中GTX680则大幅领先。
DX11游戏《异形大战铁血战士》、《蝙蝠侠:阿卡姆城》、《战地3》:
异形大战铁血战士是A卡传统优势游戏,而蝙蝠侠和战地3则更适合N卡发挥,因此GTX680在后边两款游戏中大幅领先,而在异形中仅落后一点。
DX11游戏《潜行者:普里皮亚季的召唤》、《孤岛危机2》、《文明5》:
这几款游戏之中GTX680领先于HD7970或基本持平。
DX11游戏《尘埃3》、《失落的星球2》、《地铁2033》:
尘埃3、失落的星球2是N卡优势项目,GTX680领先,而地铁2033中会稍低于HD7970。
最后两个游戏测试,DX11游戏《幕府将军2:全面战争》和《魔兽世界:大地的裂变》:
GTX680在幕府将军中与HD7970性能很接近,以微弱优势领先,而魔兽世界中GTX680则大幅领先。
使用FurMark 1.9.2软件进行拷机,显卡待机、满载时的系统功耗和显卡温度如下:
GTX680的待机温度相当低,满载温度的话几款28nm工艺的显卡都达到75度以上,彼此之间的差距也不算大,尽管制造工艺在不断进步,但是显卡功耗控制也在进步,但是依然是电脑中发热量最大单元。而GTX680的整机功耗仅有355W,比HD7970低20W左右,双卡功耗差距则达到了30W左右。
全部测试成绩完成之后,我们将成绩汇总,去掉了SubD11曲面细分测试项目,因为此项目中A卡落后幅度过大,会对综合性能的统计数据造成很大影响。而GTX680与GTX580、HD7970的测试成绩如下表:
用柱状图显示更为直接:
以GTX580为标准,GTX680的性能达到了30%以上的提升,而相比HD7970,GTX680领先幅度超过10%。
尽管拥有Turbo Boost技术,但是玩家对于频率的追求是无止境的。时间有限,但是这次测试中依然对GTX680的超频能力进行了初步探索。这次超频使用了影驰魔盘软件,支持开普勒核心的NVIDIA GEFORCE显卡。
影驰魔盘K目前仍为Beta版本,正式版本将会在界面等方面有所改进
开启解锁选项之后,轻轻一拉频率条
核心频率瞬间提高150MHz,Turbo Boost加速频率也随之提升
时间有限,仅测试了3DMark 11项目,测试结果:
习惯了后发制人的NVIDIA,这一次拿出了完全让人出乎意料的产品:GEFORCE GTX680。GTX680不仅在性能上超越对手AMD的旗舰产品Radeon HD7970,功耗也不增反降,仅仅需要两个6pin外接供电,取得了能耗比上的极大优势,是一次全面胜利,让任何人都可以闭上嘴。高性能、低功耗的最根本原因来自于架构的改变。NVIDIA这次的“开普勒”架构可以说是完胜AMD的GCN架构,两者都做出了改变,但是结果却不同。
GTX680彻底打败了HD7970
我们可以看出GEFORCE GTX680是一款全新的产品,除了性能、功耗的改变之外,在新功能、特性上也有所改变,GPU Boost动态加速技术挖掘出了GPU核心的全部潜力,平滑垂直同步改善了游戏体验,多屏输出给用户提供了切实的方便。
目前GTX680产品价格定为3999元,这让HD7970目前售价显得略高,毕竟性能全面落后,功耗也不占优势,而目前HD7970的价格却与之持平甚至略贵,如果说在HD6970/50时代AMD还可以靠小核心、低成本战略来与性能更强的GTX580错位竞争,避免正面喷装,那么这次HD7970面对的状况恐怕就要困难一些了:更大的核心面积意味着更高的成本,就算打起价格战,恐怕HD7970也未必是GTX680的对手。AMD的HD7970曾经在单芯片卡皇的位置上做了3个月,而现在它需要让位了,并且处于一个非常困难的境地,AMD将怎样反击,是我们接下来所好奇的。
从HD5000 VS GTX400、HD6000 VS GTX500到如今的GTX600 VS HD7000,GPU步入DirectX 11以来NVIDIA与AMD已经开始了第三次大战,在单芯旗舰问世后,下一场战斗将会在双芯卡上展开,届时谁又能登顶王座呢?我们拭目以待下场较量的开始。■<