● 与设计师的灵魂的再次对话
Pitcairn与Tahiti源自相同的GCN体系,两者在ACE引擎的规模和结构、前端规模与结构、CU单元微观结构及缓冲密度以及ROP阵列方面均完全相同,产品级的HD7800与HD7900最大的区别来自CU单元的规模差异。HD7800仅拥有20/16个CU单元,在保有相同总量的一级线程仲裁机制以及宏观并行结构的前提下,HD7800的ACE引擎仅需应付6成于HD7900的运算单元需求。ACE引擎在GCN体系中肩负着最初的任务队列管理以及向CU单元发放线程块的重要任务,因此更少的CU单元以及同样的ACE引擎为Pitcairn带来了远大于Tahiti的等效线程密度。
Pitcairn构架细节
我们曾经提到过,每一款GPU芯片都是辛勤汗水的结晶,它们凝聚着设计者灵魂的力量。透过GPU芯片的特性以及表现的全面了解,我们可以从不同角度体会到设计师在设计芯片时的想法以及希望表达的意图。要想掌握Tahiti以及Pitcairn在逻辑结构上的差异所带来的影响,确定等效线程密度提升对性能产生的影响,我们必须避开图形过程其他步骤所带来的各种干扰,收集到“纯净”的Tahiti以及Pitcairn构架的底层性能,只有这样才能直达AMD工程师的内心深处。
传统的图形化测试很难收集到特定单元的真实性能数据
图形处理的本质其实就是GPU各单元对各种数学过程进行执行的集合,常规的图形化测试方法之所以无法避开各种干扰,是因为它们大多拘泥于“图形化”的形式当中,无论测试过程还是结果都包含在了一个完整的图形化处理和输出过程中。比如说要测试材质填充率,我们必须经历完整的几何处理、光栅化、像素处理、材质填充以及输出过程,这让常规图形测试的几何关联达到了对结果来说无法忽略的地步。所以,只要绕开这层几何关联,直接测试构架底层单元执行对应数学过程的能力,就可以避开其他单元以及图形化本身对测试的干扰了。
GPCBenchmark是一款基于Open CL的GPU通用性能测试软件,它不仅使用最为通用的函数库及API接口进行编写,并未对任何构架进行针对性的优化,所有测试更基于从图形过程以及通用计算过程中抽离出来的数学过程,能够进行我们所期望获得的,能够绕开几何关联和图形化过程的特定底层硬件纯执行能力测试。通过该款软件,我们不仅可以直接读取许多底层构架信息,更能获得构架最真实的特性。
基于OpenCL的测试可以让我们收集很多运算方面的数据
有了合适的测试手段,我们便可以通过“纯净”的构架底层性能来面对和对比构架内部甚至不同构架之间的诸多有用信息,比如吞吐能力、shader应对能力或者材质处理能力等等,并由此定性的推定出构架的单元复用率以及效率状况,进而对性能表现进行更深层次的解读。
我们曾经多次提到过,DirectX 11时代对于构架效率的对比,实际上就是对构架单元复用率的对比,因此今天我们关于Tahiti以及Pitcairn构架效率的测试,同样也要围绕着与复用率相关的测试步骤,包括矩阵乘法、矩阵转置、并行规约、亮度直方图局域存储器原子操作以及二维卷积。最终,我们同样也会通过战地3游戏来完成我们对构架数学应对能力,也就是背后的单元复用率测试的检验。
推荐经销商