1你真的了解Tahiti构架么
2012年的年初因为AMD而显得热闹无比,上年末到来的HD7970不仅向我们展现了一个锐意进取且勇于纠正自身错误的Tahiti构架,更带来了当前世界上最快的DirectX 11单芯显卡。而年初发布的次旗舰级产品HD7950,更是将Tahiti构架的产品线第一时间进行了丰富,让AMD的旗舰集团变得更加充实。
但是,随着我们对HD7900系列显卡以及Tahiti构架的测试日渐深入,越来越多的问题出现在了我们的面前——为什么拥有先进的Tahiti构架且默认频率如此之高的HD7970,其绝对性能却只能领先对手上代的旗舰不到20%?为什么HD7950可以仅以60%多的功耗提供85%的HD7970的性能?为什么HD7950在稍加超频之后,其性能就与HD7970相差无几了呢?
虽然我们曾经预设过单元复用率不足这一解释,但直到目前为止,我们都没有真正系统的对Tahiti构架进行过底层测试,首测以及后续测试中所进行的底层构架测试也仅针对某些特定频率和特定状态,谈不上是了解构架的真实表现。
这样的我们,算得上了解Tahiti构架么?
为了解答HD7900系列性能表现等等这些疑问,更进一步的加深我们对Tahiti构架的了解,同时也证明我们之前预设的关于单元复用率对Tahiti构架以及HD7900系列显卡性能影响的真实性,我们决定展开一场真正的针对Tahiti构架的底层性能测试。
不同于我们以往的各种测试,今天的测试无论测试过程本身还是对测试结果的解读,想要理解都存在一定的难度。想要继续读下去的读者们,挑战你们对GPU理解以及感情的时刻到了。请绑紧你座位上的安全带,让我们进入今天头脑风暴式的构架深度测试过程中吧。
2与设计师的灵魂对话
● 与设计师的灵魂对话
每一款GPU芯片都是辛勤汗水的结晶,它们凝聚了设计者灵魂的力量。透过GPU芯片的特性、性能以及表现的全面了解,我们可以从不同角度不同方向体会到设计师在设计芯片时的想法以及希望表达的意图。
对GPU底层构架的了解,可以让我们获取很多有用的信息
但想要真正的跟设计师的灵魂对话似乎并不容易,图形处理过程的顺序特性仿佛有意在保护着设计师们内心深处的隐私一般,当我们想要了解某个单元比如TMU的性能时,图形流水线的特质决定了我们在绝大多数图形化测试过程中都必须经历这个单元前后的所有处理过程,这导致我们很难在常规的图形化测试过程中获得令人满意的特定单元“纯净”性能。我们获得的结果,或多或少都受到了来自其他单元进行图形化过程的干扰和影响。与“不纯净”的结果对话,是无法让我们真正直达设计者的灵魂深处的。
有没有什么办法能够让我们避开各种干扰,收集到“纯净”的Tahiti构架的底层性能,并直达AMD工程师的内心深处呢?
图形过程的本质,其实就是GPU各个单元对不同数学过程执行的集合,常规的图形化测试方法之所以无法避开干扰,是因为它们大多拘泥于“图形化”的形式当中,无论测试过程还是结果都包含在了一个完整的图形化处理和输出过程中,这让这些测试的几何关联达到了无法忽略的地步。所以,只要绕开这层几何关联,直接测试构架底层单元执行对应数学过程的能力,就可以避开其他单元以及图形化本身对测试的干扰了。
GPCBenchmark是一款基于Open CL的GPU通用性能测试软件,它不仅使用最为通用的函数库及API接口进行编写,并未对任何构架进行针对性的优化,所有测试更基于从图形过程以及通用计算过程中抽离出来的数学过程,能够进行我们所期望获得的,能够绕开几何关联和图形化过程的特定底层硬件纯执行能力测试。通过该款软件,我们不仅可以直接读取许多底层构架信息,更能获得构架最真实的特性。
有了合适的测试手段,接下来的测试对象就成了我们要面对的另一个问题了——要通过测试了解Tahiti构架的特质,并且回答我们在上一页中提到的关于单元复用率与性能之间联系的问题,我们必须先找到合适的测试对象。
有介于HD7950仅删减了CU单元部分,对于ACE引擎、缓冲资源以及显存控制器等对单元复用率能够产生影响的部分未做改动的特性,我们决定采用如下测试法:先将显存统一调整并固定至统一的频率,然后将核心频率从较低水平逐步调整至较高水平的方式,一路收集不同频率下两款缓冲体系相同但运算体系不同的Tahiti构架GPU的各项测试数据,并从中分析它们随频率增加而获得的性能增长以及性能差距状况。这种测试法不仅可以让我们获得Tahiti构架不同资源密度环境下的单元运算效率,更可以更加直观的体会HD7950与同频的HD7970之间的性能差距。
想了解更加真实的Tahiti构架么?想与AMD的构架设计师来一场灵魂的交流么?接下来,就让我们开始今天这场略显晦涩但绝对能带来更多有用信息的底层构架测试吧。
3测试平台软硬件环境简介
● 测试平台软硬件环境简介
性能测试使用的硬件平台由Intel Core i7-3960X、X79 Chipset和4GB*4四通道DDR3-1600内存构成。细节及软件 环境设定见下表:
测 试 平 台 硬 件 | |
中央处理器 | |
Intel Core i7-3960X | |
(6核 / 12线程 / 100MHz*33 / 15MB L3 Cache ) | |
散热器 | |
Intel RTS2011LC | |
(原厂水冷散热器 / 选配件 ) | |
内存模组 | |
Samsung 黑武士 DDR3-1600 4GB | |
(SPD:9-9-9-24-1T) | |
主板 | |
MSI BigBang XPowerII | |
(Intel X79 Chipset) | |
硬盘 | |
Seagate 1T | |
(1TB / 7200RPM / 32M 80GB NTFS | |
电源供应器 | |
NERMAX 白金冰核 1500W | |
(CSCI Platinum 80Plus / 1500W) | |
显示器 | |
DELL UltraSharp 3008WFP | |
(30英寸LCD / 2560*1600分辨率) |
为保证系统平台具有最佳的稳定性,此次硬件评测中所使用的操作系统均为Microsoft Windows 7 正版授权产品。使用Windows 7正版软件能够获得最好的兼容性以及系统升级更新服务。
用户在体验或购买安装Windows 7的操作系统时请认准所装系统是否已经获得正版授权许可!未经授权的非正版软件将无法获得包括更新等功能在内的Windows 7服务。
操 作 系 统 及 驱 动 | |
操作系统 | |
Microsoft Windows 7 Ultimate RTM SP1 | |
(64bit / 版本号7601) | |
主板芯片组驱动 | |
Intel Chipset Device Software for Win7 | |
(WHQL / 版本号 9.2.3.1022) | |
AMD 显卡驱动 | |
AMD Catalsyt | |
(Beta / 版本号 8.921.2.0000) | |
| |
2560*1600_32bit 60Hz |
我们采用GPCBenchmark 1.1以及战地3进行本次测试的数据收集,各项数值越高越好。为保证双方具有同样的外部存储环境,我们决定将HD7950的显存频率调至与HD7970相同的5500MHz,在该环境下,双方将拥有完全相同的带宽,两者之间的差异将只局限于CU单元的规模。
4shader灵活度测试:矩阵乘法
● shader灵活度测试:矩阵乘法
矩阵乘法是线性代数的基本构成之一,它是各种通用计算以及shader处理过程中非常常见的数学操作方式,矩阵乘法的过程可以将许多非常复杂的模型转换成相对简单的表现形式,因此被广泛应用在了光栅化(坐标变换)、光照(亮度直方操作)、阴影边缘平滑(针对像素块的切比雪夫不等式群)等几乎所有图形处理过程中。可以说只要进行图形处理过程,GPU就必定会进行大量的矩阵乘法操作。
矩阵乘法
矩阵乘法可以被解离成大量的行列式运算,并行化的处理这些行列式,同时为操作过程提供合理的缓冲空间来释放临时结果势必会极大地加快矩阵乘法操作的效率,进而加快整个图形过程的进度。因此,对于矩阵乘法效率的测试,不仅可以让我们获得构架并行度以及缓冲资源情况的信息,更能在趋势上反映GPU执行shader尤其是灵活shader的执行效率。所以,我们将矩阵乘法测试作为构架延展测试的第一个项目,通过它将Tahiti构架的ALU团簇部分剥离出来进行专门的性能测试。
HD7950的运算单元规模比HD7970缩减了12.5%,但各项缓冲资源比如L2 unified cache的总量并未见变化,所以HD7950的每一个ALU所能够获得的寄存器溢出缓冲会高于HD7970。正因为此,虽然同为Tahiti构架,但伴随着频率的提升,HD7970以及HD7950在执行矩阵乘法时的性能差距在快速的缩小,更大的缓冲密度为HD7950带来了更好的单元复用率,这种更好的单元动作效率不仅成功的弥合了由运算单元吞吐规模带来的差异,更让HD7950拥有了更好的执行各种灵活shader指令的能力。
5shader灵活度测试:矩阵转置
● shader灵活度测试:矩阵转置
矩阵转置同矩阵乘法一样,也广泛分布在包括坐标变换等过程在内的大量图形处理过程中。矩阵转置可以被理解成矩阵沿特定方向“翻转”之后产生的镜像,这导致了矩阵转置操作会涉及到大量数据,比如稀疏矩阵的对角线数据等的临时存储,因此矩阵转置操作对于体系的缓冲密度是相当敏感的。
矩阵转置操作
同矩阵乘法一样,伴随着频率的不断提升,HD7950的矩阵转置性能提升速度较之HD7970要高出许多,两者之间的性能差异在迅速的收窄甚至趋同。由于矩阵转置的操作过程较之矩阵乘法更加“规整”,能够产生瞬间高延迟的因素较少,因此矩阵转置测试所得的趋势也更加明显和直观。
矩阵系操作的测试明白无疑的向我们传达了一个信息——HD7950拥有比HD7970更好的单元复用率,这种单元复用率的差异以及其背后缓冲密度提升带来不仅佐证了我们反复强调的关于Tahiti构架单元复用率虽然改善良多但依旧不足的观点,更为“HD7950的图形性能有没有超越HD7970”这一问题埋下了伏笔。
6shader吞吐能力测试:并行归约
● shader吞吐能力测试:并行归约
为了全面的反应Tahiti构架的特性,同时证明矩阵乘法以及矩阵转置测试的结果与伴随频率抬升带来的吞吐增加并无直接关系,我们进一步收集了HD7950与HD7970在不同频率下的并行归约执行能力的数据。
图灵归约(黑箱化)过程
通俗的说,归约是一个以已知问题解法来直接处理未知问题的黑箱化数学方法。比如说我们不知道2的4次方应该怎样计算,但我们知道2X2以及4X4如何计算,那我们就可以把应用中所有的2的4次方操作转变成2X2或者4X4来进行处理。归约操作的本质,就是在已知问题和未知问题之间建立指向和联系,将特定问题转化成已知问题来进行处理,而并行归约操作则将这一过程并行化已达到加快处理速度的目的。
并行归约操作考验的是构架的并行吞吐能力,只要线程资源充足,体系应该可以以最大化的方式来完成吞吐过程。从测试结果来看,HD7970与HD7950拥有相同的线程仲裁及发放机制,因此两者的吞吐能力差异在趋势上并没有像矩阵操作那样呈现趋近收窄的形态,HD7970的吞吐能力在大多数时候都稳定的以大体相同的幅度领先于HD7950。
7CS等效性能测试:亮度直方图
● CS等效性能测试:亮度直方图
Compute Shader对于DirectX 11的重要性不言而喻,它拥有很多实用的应用方式,快速绘制场景的亮度直方图就是其中之一。无论DirectX还是Open CL,以通用计算方式来完成亮度直方图绘制都需要体系拥有非常优秀的ALU综合性能。这其中不仅有吞吐能力,更有单元复用率所带来的动作效率。因此,我们决定继续收集GPCBenchmark测试的亮度直方图性能,借以了解缓冲密度以及单元复用率的差异对HD7950以及HD7970的图形通用计算性能的影响。
亮度和颜色直方图对图像的表征和影响
原子操作能够让线程块凝固并不可再分,因此对吞吐和快速执行能够起到很好的“保护”作用,而缓冲密度又决定了体系在局域存储器内完成原子操作的效率,因此亮度直方图的局域存储器原子操作能够反映体系在吞吐和单元复用率两方面因素共同作用下的实际执行能力,进而检验体系是否具备良好的灵活shader以及Compute Shader的执行能力。
在测试中,HD7950不仅表现出了较之HD7970更好的性能成长性,更在高频下完成了对HD7970的性能超越。HD7970则因为更低的单元复用率而在高频下丧失了一部分性能成长率,性能提升曲线变得更加平滑,并最终被HD7950所超越。
8Texture性能测试:二维卷积
● Texture性能测试:二维卷积
由于HD7950与HD7970拥有相同的几何端、光栅化单元和输出端,显存控制器也完全相同,因此CU的规模就成了两者惟一的区别。我们已经通过测试了解了Tahiti构架CU中ALU团簇部分因缓冲密度不同而产生的性能差异。接下来我们将要展开的测试,将围绕着CU中的另一个重要组成部分——Texture Array展开。
Texture Array可以通过VTF操作灰度数据
我们在前面提到过,在传统手段中想要单纯测试体系的TMU性能是相当困难的事情。幸运的是,TMU对材质的诸多操作过程,包括抽离材质的颜色信息,将之转化成灰度数据,再将其与顶点数值进行对照并辅以相关的操作等等,本质上就是对像素数据数组的一系列操作。因此GPCBenchmark对于二维卷积性能的测试,可以让我们将TMU性能转化成单纯的TMU动作能力以及与相关缓冲互动能力的测试。
卷积过程的应用领域极为广泛,其在统计学、概率论、声学研究、以及电子信号处理领域都有广泛的涉及,任何一个存在于世界上受物理学支配的线性系统均包含卷积过程。用TMU单元对卷积过程进行运算,可以考验TMU处理数据类型完全相同的材质过程时的性能,同时还能避开来自几何、光栅化以及输出过程的诸多干扰。
由于Tahiti构架的Texture cache资源相当丰富,再加上Texture Array的动作方式远比ALU面对shader时要来的规整和平滑,所以HD7950的二维卷积性能随频率的增长并未与HD7970存在不同,两者维持着大体相当的性能差异。这表明Tahiti构架的材质性能是相对稳定的,不会因为频率的提升而大幅变化,同时也未从缓冲密度的提升中获得太多好处。
9理论与实践的结合:战地3游戏测试
● 理论与实践的结合:战地3游戏测试
我们对于构架的底层延展测试,其本质目的其实还是要向大家展现一款GPU对图形过程的执行能力。图形能力是建立在一系列底层单元性能的基础之上的,因此对于底层构架的测试,将有助于我们理解现有的图形测试的结果,并对该款构架即将到来的产品进行一定的预测。
DirectX 11特性支持相当完美的BattleField 3
我们选择DirectX 11游戏战地3作为图形表现的测试对象。基于寒霜2引擎的战地3拥有大量先进的DirectX 11特效,它并没有采用传统游戏以及跨平台游戏以高精度材质来提升画质的方法,而是利用灵活复杂的各种shader,尤其是Compute Shader来快速表达更加真实的光照效果以及环境,借以达到直接提升环境真实度的目的。
战地3的测试结果相当好的符合了我们对底层构架的延展测试。我们知道,图形过程是一个顺序且环环相扣的过程,shader性能以及材质性能与其他要素一起同时决定着GPU执行游戏画面的速度和延迟。根据我们前面的测试结果,HD7950拥有比HD7970更好的ALU单元复用率,因此伴随着频率的提升,其在shader尤其是Compute Shader性能方面的表现要优于HD7970,而双方的材质性能差距则始终相当。因此两方面要素综合之后,同频下的HD7950与HD7970的游戏性能差异也呈现了逐渐收窄和趋同的态势。
10Tahiti构架到底怎么样?
● Tahiti构架到底怎么样?
不得不承认,本篇测试无论从测试内容还是结果的解读方面来讲,其难度对于一般读者来说都大了些。我们花费大力气进行测试和数据收集,并将测试结果抽离出来加以解读,其目的无非是想让大家了解什么才是真正的Tahiti构架。Tahiti构架的HD7900系列显卡
我们在开篇就已经说过,只有剥离测试中的其他干扰要素,直达构架底层某个部件的真实性能,我们才能真正了解和理解一款图形构架。那么,Tahiti构架究竟是一款怎样的构架呢?HD7900系列显卡,又是怎样的一系列产品呢?
Tahiti构架较之Cayman构架确实修正了大量的错误和不足,它大幅改进了ALU团簇的吞吐模式,摒弃了虽然可以提升吞吐但却会严重影响单元复用率提升的VLIW模式;它改进了双ACE引擎并大胆的完成了材质和shader单元的直接绑定和对应过程,为并行度的进一步扩展打下了良好的基础;它还引入了unified cache并进一步完善了其他缓冲体系。这一切的一切,都为提升Tahiti构架的单元复用率和灵活度创造了不错的条件。
这些围绕单元复用率进行的改进都很好,但遗憾的是还不足够好。
我们今天的测试结果明白无疑的展现了一个事实——足本规格的Tahiti构架,其资源密度距离充足还有相当的距离。HD7950较之HD7970缩减了12.5%的运算资源,这部分资源削减带来的等效缓冲资源密度提升,让HD7950拥有了比HD7970更高的ALU团簇复用率,这种单元复用率的提升极大地弥合了单纯吞吐能力差异带来的性能影响。并让HD7950在高频下具备了超越同频HD7970性能的可能。
如果换个角度来思考这个问题的话,其实答案就近在眼前了——如果Tahiti构架再做的稍微大些,哪怕只比现在大个10%,里面多塞一些缓冲资源的话,不到400平方毫米面积的HD7970/7950在目前频率下的性能又会是怎样一番光景呢?
D线之殇,AMD在DirectX 11时代已经很难再绕过去了……
11放弃幻想,期待美好的未来吧
● 放弃幻想,期待美好的未来吧
在今天的测试中,HD7950的表现可以说相当完美,它不仅为我们提供了完美的构架底层测试参照,更以自己的实际行动证明了这其实是一款性能十分优异的显卡,只需适当提升频率,它的最终表现并不会比HD7970差,如果不是我们的运气差的有些荒诞,手头的4块7950均无法在默认电压下稳定运行在高频之上,HD7950说不定会在游戏测试中真正露出自己的獠牙,直接将HD7970踩在脚下了。
HD7950核心
感兴趣的朋友们不妨自己尝试一下更大幅度的HD7950超频,这可以让你们真切的体会到单元复用率的重要性。与此同时伴随着芯片质量的趋于稳定,我们推荐用户们更多地考虑HD7950而不是7970,Tahiti构架的特性决定了它不仅有比HD7970好很多的功耗表现,更可以在高频下给你带来不小的惊喜。
还在期盼着“存在2304甚至更多ALU单元的所谓HD7980或者其他别的什么东西”的人们,在看过今天这篇测试之后也应该可以醒转过来了。以目前的测试结果来看,如果维持缓冲资源不变的前提下将CU规模放大到36组甚至40组,Tahiti构架的单元复用率将会因为缓冲密度的缩减而变得比现在更差,尽管这么做可以进一步提升GPU的材质处理能力,但在非吞吐吃重场合原地踏步的shader性能会在很大程度上吃掉材质性能带来的总体执行效率提升。以Tahiti构架目前的状态,抬升频率明显比扩展运算规模更能有效的提升性能。因此即便存在比HD7970更加高阶的单芯片Tahiti构架GPU,它的规模也不会比HD7970更高。
关于所谓2304 ALU的YY可以停止了
Tahiti是一个值得肯定的构架,它的改进卓有成效,它转变的勇气值得称颂,但它面前横亘的D线却让它失去了飞向更高处的机会。没有富裕的芯片面积用来放置更多的缓冲资源,让HD7900系列尤其是HD7970不得不使用高频来弥补绝对性能的不足,过高的频率不仅令功耗险些失控,而且也极大地限制了未来HD7900系列显卡的性能延展能力。
通过测试过程,我们能够深切地感受到构架设计者的无奈和失落。Tahiti这样一个优秀的构架因为非设计要素而受到了来自可制造性问题的束缚,这的确是GPU发展史上的一大憾事。但愿在接下来的后DirectX 11以及DirectX 12时代,Tahiti改进版构架能够甩掉D线并将现在的锐意进取和用于纠正自我的精神延续下去,补足所有的遗憾然后一飞冲天。让我们共同期待着那一天的到来吧。
推荐经销商