GTX 980/970一度被视为极为完美的显卡,但是最近围绕GTX 970的麻烦可不小,很多玩家发现它只能利用4GB显存中的3.5GB。

NVIDIA对此已经做了官方回应,称虽然架构上GTX 970和GTX 980是完全一致的,但前者因为“SM配置不同,交叉开关资源也较少”,所以显存分成了3.5GB、0.5GB两个部分,并优先使用前者,后者的性能会略有下降。

这虽然能在一定程度上解释当前问题,但很显然语焉不详,尤其是喜欢对技术刨根问底的同学肯定特别不满。到底哪里出了问题呢?为什么以前从来没有这样呢?

想了解问题的来龙去脉,就必须彻底了解GTX 670的底层基本规格,但就在今天,NVIDIA很意外地宣布,GTX 970的规格以前搞错了!

最初发布的时候,GTX 970、980除了流处理器、频率、显存容量、功耗不同之外,其他都完全一致,似乎砍掉的只是三组SM单元和一组,但现在我们知道,被阉割的还有更多。

首先,GTX 970 ROP单元不是完整的64个,而是56个。

其次,二级缓存也只有1.75MB,而不是完整的2MB。

这一切都得“感谢”第二代麦克斯韦架构的新能力。在以往,ROP/显存控制器都是一体的,共存共荣,但现在可以分开控制了,使得GTX 970在保留完整256-bit显存位宽的同时,ROP单元和二级缓存都能单独屏蔽掉一部分。

这就能解释GTX 970的显存表现为何那么怪异了,因为和它关联的一些模块也精简了。

NVIDIA对此的解释是:显卡规格一般分为两个层次,一是面向普通用户的基本规格,只包含一些主要参数,方便理解,二是面向评测媒体、高级玩家的详细规格,会列出晶体管数量啊、内核面积啊、二级缓存容量啊、ROP单元数量啊这些复杂的规格。

基本规格都公布在NVIDIA官网上,详细规格则来自评测指导(Reviewer's Guide),通常是由市场部编写,发给媒体和厂商的,但市场部对技术了解不深,还在延续以前的老习惯,就造成了这次误会。

由于ROP单元、二级缓存这样的规格一般人根本不会去关心,对实际性能的影响也不是那么明显,所以阴错阳差地谁都没注意,直到最近关于GTX 970显存问题的反映越来越多,NVIDIA进行调查的时候才发现。

GPU-Z、AIDA64这样知名的工具也因为对第二代麦克斯韦架构的了解不够深入,而未能发现问题,GTX 970检测中都标注着64个ROP单元。

不过其实也有迹象的,比如说NVIDIA自己的DeviceQuery CUDA开发工具,一早就准确报告了GTX 970 1.75MB的二级缓存,但除了细心的开发者谁会注意到呢?