GCN再战开普勒 通用计算能力谁更强?
泡泡网显卡频道6月4日 HD7970与GTX680的较量看似已经可以告一段落了,尽管差距不大,但是GTX680的3D游戏性能要胜出HD7970一筹。然而,除了3D游戏性能之外,我们看到的是AMD与NVIDIA这一代GPU架构上翻天覆地的变化,两者都抛弃了沿用几代的GPU架构体系设计,创造了全新图形产品。更有意思的是,两者的图形架构与对方前代架构在思路上有很多相似之处,就像是上演了一场大反串。
除了游戏性能之外,GPU架构还会影响到通用计算能力,随着GPU运算能力的增强以及对其架构特点的深度开发,显卡不仅可以用于渲染3D画面,还可以进行计算工作,协助甚至取代CPU进行工作,那么作为GCN与开普勒两大GPU架构的代表,HD7970与GTX680在通用计算方面谁更具优势呢?我们将通过测试揭晓答案。
这一代GCN架构的完整版HD7970拥有2048个流处理器,而开普勒架构的完整版GTX680则拥有1536个。两者的纹理单元、ROP数量一样,而显存位宽方面HD7970为384Bit,GTX680则为256Bit,这造成了两者显存带宽上264GB/s与192GB/s之间的差距。
从GPU外围模块来看,AMD的Tahiti和上代Cayman相比变化不大,只是强化了曲面细分单元,加入了双异步计算引擎而已。最大的改变来自于流处理器部分,原有的SIMD引擎不见了,取而代之的是GCN阵列,那SIMD引擎与GCN阵列有什么本质区别呢?
代号为Tahiti的HD7970中,每个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则没有这种设计,所有流处理器都一视同仁。
而NVIDIA方面,则是不停的对GPU的GPC、SM、CUDA核心等配比进行微调,在微调的过程中经历了两次突变:第一次是GT200到GF100,首次引出了GPC(图形处理器集群)的概念,GPC数量减少但SM数以及流处理器数量增加不少;第二次就是现在了,从GF100到GK104,SM数量减少,但流处理器数量暴增!
改变是为了适应形式的变化,解决此前出现的一些问题,那NVIDIA的架构有什么问题呢?此前我们多次提到过,虽然NVIDIA的GPU在效能方面占尽优势,但也不是完美无缺的——NVIDIA最大的劣势就是流处理器数量较少,导致理论浮点运算能力较低。当然这只是表面现象,其背后的本质则是MIMD(多指令多数据流)的架构,相当一部分比例的晶体管消耗在了指令发射端和控制逻辑单元上面,所以流处理器数量始终低于对手。
为了保证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少,但差距已经没以前那么夸张了。
测试平台使用了Intel Core i7 3770K+Z77主板的组合,搭配4GBx2内存、128GB SSD的存储系统,驱动为Catalyst 12.4及ForceWare 301.42。
这次测试使用了超公版显卡:HIS HD7970 IceQ X2 Turbo,核心频率为1050MHz。GTX680则为铭鑫视界风靓彩版,频率为1111MHz。
DirectCompute & OpenCL Benchmark由波兰人Patryk开发,是世界上第一款能够测试DirectCompute性能的软件,后来也加入了对OpenCL的支持。它不但能够同时支持CPU、GPU OpenCL,而且如果系统内有多显卡,还能为按照计算能力为它们分配不同比例的工作负载。
DirectCompute计算中,A卡一直拥有优势,这一点是N卡无法比拟的,而HD7970在经过架构改变之后,能力更加强大,远超N卡,领先优势甚至达到了10倍以上。而OpenCL运算中,GTX680则稍胜一筹,比HD7970快了20%左右。
ComputeMark由捷克硬件和游戏网站CzechGamer.com的Robert Varga开发完成,技术上基于Jan Vlietinck的Fluid3D Demo,号称是“第一个百分之百的DX11 Compute Shader基准测试工具”,一般情况下能够调动99%的GPU资源,CPU占用率只有0-1%,因此在考察GPU通用计算性能的同时,也能考验显卡的稳定性,对超频亦有所帮助,另外测试的时候还可以自行选择运行时间。
在纯粹的DX11渲染运算测试中,HD7970性能领先GTX680达到30%左右,而这还是在GTX680频率拥有优势的前提之下的结果。可以见HD7970在运算能力方面拥有的优势。
GPU Caps Viewer是和GPU-Z类似的一款显卡诊断识别工具,二者在显卡的检测识别方面可以说各有千秋。GPU-Z对显卡的功能规格显示的非常详细,而GPU Caps Viewer除了对显卡的基本规格能够完全正确识别外,还专门提供一个有关显卡OPENGL能力检测测试的界面,用户可以在此对他们显卡的OPENGL能力有一个比较全面的了解。 可用于购机时的测试。另外在GPU Caps Viewer还提供了一个不同渲染方式下的显卡OPENGL能力Demo演示功能,可以让玩家对自己的显卡有一部分大致的了解。
由于目前尚不支持GTX680,因此测试暂时没有办法对比。
LuxMark是一款OpenCL测试工具,由Jromang最早于2009年发开。基于开放式物理渲染引擎LuxRender,可以支持常规画图,支持基于OpenCL模式的GPU加速,可以在AMD和NVIDIA显卡上完美运行,并支持多级动态模糊。在流行的图形图像渲染设计软件Blender, 3ds Max, Cinema 4D, DAZ Studio, Poser, SketchUp以及Softimage中均有使用。
LuxMark测试中,HD7970的渲染性能展示出了压倒性的胜利,分数领先幅度再次达到2倍以上。
SiSoftware Sandra是一套功能强大的系统分析评比工具,拥有超过30种以上的分析与测试模组,还有CPU、Drives、CD-ROM/DVD、Memory 的Benchmark工具,它还可将分析结果报告列表存盘。SiSoft Sandra除了可以提供详细的硬件信息外,还可以做产品的性能对比,提供性能改进建议。
Sandra 2012的GPU通用测试部分,HD7970再次取得较大优势。
HD7970的综合游戏性能稍逊于GTX680,这是一个客观的事实,但是其架构特性决定了其计算能力远远超过GTX680,在有良好应用的支持下,HD7970会发挥出它的价值,随着GPU加速应用的日渐普及,GCN架构必将绽放出更璀璨的光芒。■<