2013年2月21日,NVIDIA正式发布了新一代显卡。没错,它就是传闻多时、采用GK110核心的GeForce GTX Titan。它和GTX 680一脉相承,都源自Kepler架构。尽管它们是同门兄弟,但GTX Titan才是Kepler架构的真正代言人,它才能代表Kepler架构的真正性能,并开启了一个全新的单核心显卡时代。
从名称来看,新的GeForce GTX Titan(下简称“GTX Titan”)不存在于任何NVIDIA现有的产品序列中,完全是一款独立的显卡。这样的事情在近几代GPU产品中还是“大姑娘上轿———头一回”,这里面有什么隐含意义呢?
实际上,这样的事情在CPU领域已经有过先例。AMD在K8时代推出过Athlon FX处理器,专门针对顶级玩家,英特尔也有PentiumXE系列产品与之对阵。顶级产品一般有如下特点:首先是无与伦比的性能,比如Core i7 3970X,性能明显超出目前所有民用市场的处理器;其次是高昂的价格,一般定价999美元显得理所应当;第三则是单独的产品序列,比如英特尔为顶级CPU启动了LGA 2011接口,配置了X79芯片组。
GTX Titan走的也是这样的道路。NVIDIA可能认为泰坦本身的性能和其代表的技术实力已经无法放置在目前已有的显卡序列中,因此需要为其单独划分一个顶级型号来做出区别——至少这款产品已经满足了顶级市场的三个特点中的两条:高昂的售价和明显超出目前民用级别GPU的性能。至于独特的接口则考虑到显卡受限于PCI-E规范,暂时无法做出任何改变。即便如此,GTX Titan单核心卡皇的定位已经毋庸置疑。
NVIDI A在GTX Titan上使用的核心依旧是GK110。有关这颗核心的详细内容,本刊在2012年9月上、下两期的《巨兽来袭 开普勒GK110全面解析》系列文章中已经给出过详细的解读,欲了解这颗核心有关架构设计和功能设计方面的详细内容的读者可以翻阅此文。在此,本文仅给出GTX Titan比较简略的架构参数等内容。
GTX Titan采用的GK110核心内置71亿个晶体管,拥有15个SMX单元,每SMX单元有192个(统计意义上的)CUDA Core和16个纹理单元。具体到产品上来,GTX Titan基于NVIDIA Kepler架构,采用第3.5代SMX技术(GK104为第3代),有14个可用的SMX单元,总计2688个CUDA核心、224个纹理单元以及48个ROP单元。GTX Titan的基础核心频率为837MHz,Boost频率为876MHz(实际上是可变频率,此处仅为官方公布的基准数据),单精度计算能力为4.5TFlops,双精度计算能力为1.3TFlops(GTX 680的单精度能力为3.09TFlops,双精度仅为0.13TFlops),显存采用6008MHz的6GB GDDR5,位宽为384bit,带宽为288.4GB/s。技术规格上支持PCI-E 3.0、DirectX 11.1、Shader Model5.0、OpenGL 4.3、Open CL 1.2,官方公开报价为7999元。
从硬件角度、特别是从NVIDIA给出的简略结构图来看,GK110有点像GK104的简单放大版本。不过,经过详细比较就会发现GK110和GK104还是存在着诸多差异:
1.GK104的SMX中全部都标识了绿色的CU DA Core,但是在GK110的SMX中除了绿色的CUDA Core外,还有黄色的小格子。不过暂时没有资料说明其具体功效,据猜测有可能是额外增加的双精度计算单元。
2.在GPC层级,整个GK110一共设计了5个GPC,每个GPC有3个SMX,一共15个GPC,与之相对的是GK104每个GPC只有2个SMX,一共4个GPC,总计8个SMX。
3.GK110的二级缓存增大到1536KB,相比之前GK104的512KB大大提升。二级缓存能有效地增加GPU在并行计算时的效率,但随之而来的数据命中率等问题也会“令人头疼”。NVIDIA在GK110上设计了1.5MB的二级缓存,虽没有常见的CPU 2MB的二级缓存那样多,但NVIDIA也必须主动改善缓存数据命中率才能获得更好的效能表现。更大的缓存在原子操作上的帮助极大,也是并行计算性能改善必不可少的部分。
4.GK110拥有6组显存控制器,对应着6组ROP单元(每组8个,共48个ROP单元)。相比之下GK104只有4组显存控制器和4组ROP单元。GK110拥有更大的显存带宽、更多的ROP单元和容量更大的显存意味着GK110在高分辨率、高画质以及高抗锯齿等超高游戏设置场景下有更宽裕的资源和更强大的性能表现。
这样来看,GK110不太像是GK104的放大版,毕竟无论如何放大都不可能放大出如此多的“额外单元”和“额外能力”来。实际上GK104更像是GK110的精简缩小版,这就意味着GK110先完成设计定稿,GK104随后才精简上场。也可以从另一个角度来对比GeForceGTX 680和GTX Titan:从硬件基础来看,GTX Titan基准频率是GTX 680的83%、流处理器数量是GTX 680的175%、显存带宽是GTX 680的150%、计算规模(单精度)是GTX 680的146%。如果没有特殊设计,GTX Titan的性能应该能达到GTX 680的140%左右。当然,在当前工艺下,越接近工艺极限,性能提升越困难,成本就越高。为了这后“40%”的胜出幅度,GTX Titan的价格超出GTX 680 142%。
此外,从“体积”角度来看,GK110的核心面积高达551平方毫米(GTX 680仅为294平方毫米、GTX 580则有520平方毫米),是目前面积大、晶体管多的GPU核心。GK110延迟发布的好处在此刻也显现出来:TSMC和NVIDIA有长达一年的时间来调整工艺、提高良率并囤积芯片。因此GK110本身无论在频率表现和功耗控制上都显得更为成熟。历史上也从没有这样一大核心GPU的频率能达到至少876MHz,多接近1GHz(GPU Boost高频率高达992MHz)的程度,并且它的功耗表现在各种辅助技术的帮助下竟然被压制在TDP250W的状态,这不得不令人惊讶。
对比完GTX 680,如果一定要为GTX Titan找个“影子兄弟”的话,早在去年年中发布的Tesla K20X和GTX Titan堪称真正意义上的“双子星”,比如GK110所拥有的Hyper-Q以及Dynamic Parallelism动态并行技术在K20X和GTX Titan上全部具备,没有任何削减。一度传言GTX Titan将削减双精度也被证实为谣言。NVIDIA给出的GTXTitan的晶圆照片和架构简图也和之前公布Tesla K20X的时候完全相同。可以认为,GTX Titan除了为GeForce玩家设计、面向游戏领域外,其余部分几乎和Tesla K20X完全相同。
流传于网络的GK110晶圆照片,其核心规格和我们的预估一致。
GK110的核心架构,实际上为了良率考虑,GTX Titan被屏蔽了一组SMX。
NVIDIA给出的GTX Titan和英特尔Core i7 3960X处理器的计算能力的对比
GTX Titan的CUDA Core数量众多,架构复杂,如何提升执行效率、从而避免因为核心规格大幅增加导致效率降低呢?主要的就是GTX Titan新加入的Dynamic Parallelism、Hyper-Q机制。在传统的GPU-CPU的计算架构中,CPU往往用于控制、逻辑处理等,自己贡献的计算能力不多,GPU则会利用大规模并行计算能力提供强大的计算性能。在这种系统中,GPU需要在CPU的控制下才可以运作。举个简单的例子,在CUDA执行中,Femri的任何一个Kernel只能由CPU给予,自己基本无法执行判断和逻辑操作,即使这个逻辑非常简单(Kernel是CUDA的专用数据,汉译为“核心、要点”)。这种GPU和CPU的紧密相关性,让CPU在很多情况下占用率变高,对CPU的性能也有一定要求。实际上这种简单的判定工作需要的处理电路并不复
杂,于是NVIDIA在GK110上加入了Dynamic Parallelism动态并行控制技术,使得CPU的工作被大大简化了。
这样的过程变得更为清晰简单,在整个工作流程中,CPU只需要关心开始和结束,对中间的内容几乎不需要参与。这可以节约大部分CPU的工作量,让CPU去进行更复杂的任务或者干脆使用一颗性能较低的CPU即可完成。此外,动态并行控制可以让GPU在同时间内启动更多的计算进程,并且能够自我判断、自动控制计算,也能为程序人员节约大量的时间。
传统的多核心CPU在和GPU沟通工作任务时存在一些问题。
举例来说,在Fer mi架构上,Fer mi架构支持多1个信息传递界面(Message Passing Interface,简称为MPI),只能接受来自于CPU的一个工作任务。
在GK110上,NVIDIA使用了名为Hyper-Q的技术来大幅度提高CPU的效率和GPU的占用率。Hyper-Q的主要改进在于增加了CPU和GPU内的CUDA Work Distributor(直译为CUDA工作分发设备,简称为CWD)之间的链接总数。再加上其他的改进,新的GK110可以接受来自多个CUDA命令以及MPI的进程,甚至一个进程内部的多个工作执行单元都可以在新的GK110上并行执行。现在GK110可以执行多32个并行的MPI。 为了达到这个目的,每个CUDA进程的内部工作序列管理,以及相依关系等需要重新处理以达到佳化,并且GK110在某个进程内部的计算不会扰乱或阻挡其他进程。不同进程如果不存在严格的相依性,也可以同时并行执行,大大提升了效率。
在CPU上,智能加速已经是被普遍使用的技术。在GPU上,这项技术也只有在NVIDIA发布GTX 680后才开始正式出现。GTX 680是首次真正尝试在硬件部分加入监控和调整功能并设计了智能加速功能的产品。在GTX 680以及随后的显卡上,NVIDIA对显卡的频率设置了三个门槛,分别是基础频率(base clock)、加速频率(boostclock)和大频率(max clock)。
基础频率就是GPU的默认核心频率,比如GTX 680是1008MHz;加速频率是指GPU在Boost状态下的参考频率,GTX 680是1058MHz,大频率则是GPU在使用中、在高电压(Vrel释放电压)下可能达到的高频率。在NVIDIA给出的参数中往往只公布基础频率和加速频率,而大频率一般都不会明确标识。在使用过程中,GTX 680的核心频率会在1006MHz到大频率之间不停地变动,这个变动是根据GPU的运行状态进行适时调整的。由于这种变化的存在,加速频率1058MHz其实更像一个参考,它表示的是在大部分情况下GPU Boost可以提升的频率以及相应的性能增长情况。但是根据软件的不同,GPU的频率甚至可以上升到1100MHz或者更高。
GTX 680以及随后的显卡配备的GPU Boost技术被称为GPUBoost 1.0。在这个版本中,Vrel实际上是NVIDIA设置的一个无法逾越的鸿沟,NVIDIA认为电压和频率超过Vrel的相关值可能会对GPU部分元件产生不可逆的损害。但随后发现,GPU在短时间内特别是温度控制适宜的情况下,超过Vrel是可以被接受的,也没有产生明显的损害。特别是在GK110这种大芯片上,本身频率和电压都不高,距离晶体管极限值还有一定距离,只要温度控制得当,就能够在短时间内获取更高的频率、更快速地完成工作任务。这就是GPU Boost 2.0的由来。
在GPU Boost 2.0中,Vrel不再是绝对上限无法逾越。NVIDIA新设定了Vrelnew以及Vmax。Vmax和Vrelnew都高于之前的Vrel。尤其重要的是,NVIDIA加入了一个重要参数——GPU温度。NVIDIA为GTX Titan确定了80℃的高温度。在显卡运行中,如果温度高于80℃,那么显卡会以较高的幅度提升风扇转速,并同时降低频率、电压等确保GPU工作在安全温度内;如果GPU侦测到温度低于80℃,那么GPU会自动上调电压到Vrel甚至Vrelnew。此时频率会进一步小幅增加,用户可以获得比传统GPU Boost 1.0更高的频率和性能。如此反复,在温度这个大前提下,GTX Titan能够获得比传统的固定频率以及之前的GPU Boost 1.0更好一些的性能表现。在实际使用中,如果不超频也不更改电压设定的话,GTX Titan由于80℃温度监控的存在,会维持在一个很不错的静音和散热状态。
现代的GPU设计已经成为一个庞大的体系工程,其中涉及到GPU内部方方面面。除了类似FurMark这样专门“为压榨而压榨”的软件外,其余的绝大部分应用,特别是游戏类应用,是不可能让GPU全面处于高压力的满载状态的。GPU内部在正常工作情况下,有负载高一些的部分,也有负载低一些的部分,这就为GPU Boost这类应用留下了空间。如果说GPU Boost 1.0还仅仅是考虑了功耗和电压的关系、为防止GPU烧毁而做出了限制性的Vrel的话,那么GPU Boost 2.0则是充分考虑到了温度、功耗和电压,将GPU本身的运行处于动态监视之下,以获取更好的性能表现。
除了Vrelnew外,新增的Vmax更是为玩家加电压超频带来一丝曙光。在GTX 680上,加电压超频是NVIDIA严厉限制的行为,部分厂商推出的加压超频组件都由于此限制而被迫放弃。个中原因很可能是NVIDIA当时没有太好的温度监视手段,在高温度、高电压以及高频率的“三高”压力下,GPU很可能由于电路击穿、电子迁移等问题严重影响使用寿命甚至直接报废。GTX Titan的本身频率、电压都较低,如果不是考虑到TDP的限制,晶体管本身应该还能在更高电压和频率下运行。因此由于Vmax的加入,NVIDIA小幅度开放了电压上限和温度检测上限,玩家可以使用第三方超频软件来控制这两个上限并通过超频GTX Titan来获取更强大的性能。
如果用一句话来总结GPU Boost 2.0的话,那就是:温度自动控制、电压放宽区间、频率更为智能。从GTX Titan来看,NVIDIA很可能为下一代显卡全面增加类似内容,甚至推出开放电压、频率和不开放电压、频率的不同产品来应对不同市场的需求(就像英特尔在“K”系列处理器上的做法),为玩家带来更多的选择性和可玩性。
NVIDIA在GTX Titan中加入了一个新的功能,叫做“显示设备超频”,这是真的吗?目前的液晶显示器的刷新率大部分都是59Hz或者60Hz,也就是说液晶显示器会在一秒钟内,使用静态刷新的方法,对显示器画面上的内容进行刷新。GPU的垂直同步功能也会将频率锁定在60Hz进行画面输出。这种刷新率在普通应用中是完全够用的,但在一些激烈的FPS游戏中,60Hz很可能会影响玩家成绩。
因此,GTX Titan新加入的“显示设备超频”可以在一定程度上缓解这个问题。在显卡连接显示器输出的时候,GPU会自动检测显示器的EDID(Extended Display Identif ication Data,扩展识别数据)信息——所谓EDID信息,是指显示器厂商在显示器内部的存储芯片中写入的显示器硬件部分的支持情况,其中包含了分辨率、刷新率等重要参数,还有色彩支持情况等不常用的内容,EDID信息就是显示器的“身份证”。GPU在侦测到显示器有关刷新率的内容后,如果显示器硬件大支持的刷新率超过60Hz,那么GPU会自动提高GPU的硬件刷新率。在打开垂直同步的情况下,GPU会自动使用更高帧率刷新输出,并要求显示器使用更高的硬件刷新帧率,这样就可以让玩家感受到更流畅的游戏体验。
举例来说,目前很多显示器都可以支持120Hz的硬件刷新率。在使用GTX Titan并启用了“显示设备超频”功能后,GTX Titan就会将垂直同步的60Hz上限提升到120Hz,并使得显示器以120Hz的硬件刷新率输出,这样显示器上显示的画面就更为流畅、自然。
GTX Titan的核心编号为GK110-400,采用A1步进。
供电主控芯片位于一块独立的PCB上,型号为安森美 采用6相核心供电、2相显存供电设计。NCP4206,支持6相PWM供电控制。