热点:
    首席编辑

    为NV“融合”打基础? GTX680架构深入探秘

      [  中关村在线 原创  ]   作者:
    收藏文章 分页阅读 暂无评论
    返回分页阅读本文导航
    产品:GTX680 Twin Frozr III 微星 显卡

    1“小旗舰”背后的“大计划”

      这是一块奇特的显卡,它的身材并不“健硕”,比各款顶级显卡短了一截的身材以及双6Pin的供电接口让它看上去甚至像是一块sweet spot级的产品。这又是一块性能强劲的显卡,它的性能与它的身量是那么的不协调,以至于我们在进行测试之后所做的第一件事竟然是尽全力寻找“作弊”的痕迹……这种矛盾的结合体,就是NVIDIA刚刚发布的新一代旗舰级显卡——Geforce GTX680。

    为NV“融合”打基础? GTX680架构深入探秘

      在我们进行的首发测试以及后续展开的一系列测试和讨论中,我们反复提及了一个以前从未使用过的名词,那就是“黑科技”。大量全新引入但细节却并不明朗的技术为我们带来了各种各样了疑问,Kepler为何会这么小?为何能够在拥有最高性能的同时拥有双6Pin供电接口即可满足的功耗水平?是什么让它打破了“更多地晶体管数量以及更大的规模可以为同代芯片换来更好的性能”这样一个统治GPU界数年乃至十数年之久的规律?这些疑问不仅困扰着我们,更让玩家、整个业界以及包括竞争对手AMD在内的所有人感到困惑不已,它们甚至直接导致了相当一部分人至今仍然无法接受现实并选择放弃正视Geforce GTX680的性能和表现。

    为NV“融合”打基础? GTX680架构深入探秘
    依旧神秘的GTX680

      经过不懈的努力和一系列针对性的测试,我们终于得以掀开了Geforce GTX680神秘面纱的一角,当我们窥见Kepler架构黑科技的细节以及意义之后,其背后庞大的计划以及与过去和未来的种种奇妙联系让我们感到了深深的震撼。这些看似独立的全新技术,以及截止到Kepler为止的整个NVIDIA图形架构体系的诞生和发展,都是一个庞大计划执行过程的一部分。这个计划历时的最终目标,就是即将到来NVIDIA版“融合”产物——将CPU与GPU结合在一起的Maxwell。

    为NV“融合”打基础? GTX680架构深入探秘
    从过去到现在,NVIDIA都在执行着同一个计划

      一个庞大的计划?NVIDIA版的“融合”?是的,Kepler架构是NVIDIA所经历的过去种种的沉淀,同时也是通往未来最关键的一把钥匙。从它的身上,我们不仅可以感受到曾经经历过的每一款NVIDIA图形及运算架构的存在,还能一探NVIDIA最终将会为我们带来的终极异构架构的特性和细节。所以,我们一如既往的准备了一个有些晦涩难懂,但同时也可以令大家体会头脑风暴快感的故事。这篇故事不仅可以向你展现Geforce GTX680背后所蕴含的种种秘密,还可以告诉你许多过去不曾被你注意到的关于NVIDIA的细节。相信这次的故事应该可以像其他我们讲述过的故事一样,不会让渴望获得更多的你感到失望。

      我们今天的故事,将从Kepler中第一个被褪去神秘面纱的新技术开始。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    2冷静的小个子凭什么还能当第一?

      ● 冷静的小个子凭什么还能当第一? 

      在围绕Geforce GTX 680的一系列“不解之谜”当中,最核心的一个秘密就是GK104的芯片规模及面积。GK104仅以Tahiti八成多点的核心面积以及75%的单元规模便实现了与之几乎相同的同频性能,并凭借更高的主频最终获得了更高的绝对性能。而另一方面,GK104又以同样的面积塞下了3倍于GF110的ALU单元,并且获得了远高于后者的性能功耗比。是什么因素让NVIDIA能够如此“超常”呢?

      打开GK104的架构图,也许我们就能获得答案了。

    为NV“融合”打基础? GTX680架构深入探秘
    GK104架构图

      GK104拥有4GPC并行的宏观逻辑结构,每个GPC内部包含2个全新的SMX单元,整个架构合计拥有8个SMX单元。SMX单元的结构,就是我们解开答案的钥匙。

      在GK104中,每个SMX单元内部包含了192个ALU,这一数值达到了GF100/110的SM的6倍,但是从GK104的Die Shot分析来看,每个SMX单元在GPU中所占的面积比例与GF100/110中2个SM单元所占的比例几乎相当。换句话说,如果使用相同的制造工艺,SM单元在同样的面积上只能布置大约64个ALU单元,这仅仅是SMX单元的1/3而已。

    为NV“融合”打基础? GTX680架构深入探秘
    GK104的SMX单元结构

      无论SM还是SMX单元,其内部大体上都可以分为三个组成部分——Logic controller(逻辑控制单元)、ALU团簇以及支援两者工作的缓冲体系,三者所占的空间共同构成了SM/SMX单元的面积。ALU团簇的大幅放大会吞噬掉其他组成部分所能够占用的芯片面积,而SM与SMX的缓冲总量大体相当,寄存器总量上SMX甚至比SM还要多上一倍,所以留给ALU团簇可以挤占的部分,就只剩下Logic controller了,事实上NVIDIA也确实这么干了,SMX的高ALU数量,正是通过缩减Logic controller的规模以及所占的面积所换来的。

    为NV“融合”打基础? GTX680架构深入探秘
    Fermi的SM单元结构比例

      Logic controller在ALU团簇中的作用是非常重要的,它负责着整个SM/SMX单元内部所有ALU的控制管理工作。当任务被解离成线程之后,Logic controller要针对线程进行各种判断和控制操作,将它们泵送给适当的可以执行任务的单元,然后在单元完成运算之后及时将任务回收。可以说Logic controller的控制是SM/SMX单元正常动作的最根本保障。

    为NV“融合”打基础? GTX680架构深入探秘
    Kepler的SMX单元结构比例

      Logic controller如此重要,NVIDIA怎么干公然削减它的规模呢?构成Logic controller的那些晶体管以及他们背后的工作和对性能的影响跑到哪里去了?要明白这些,我们先要从Kepler架构引入的黑科技之一——全新的Scheduling过程说起了。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    3揭开黑科技的第一层面纱

      ● 揭开黑科技的第一层面纱 

      早在Geforce GTX680的首测的过程中,Kepler架构全新的Scheduling过程就引起了我们极大的兴趣,它是Kepler众多“黑科技”中隐藏最深同时可能产生的影响也最为深远的改进之一。由于ISA结构资料的缺失以及测试初期对底层架构信息掌握的不足,我们在当时无法了解这一改进的细节。伴随着信息收集以及后续测试的不断深入,我们现在终于获得了足够的细节,同时也成功的将它与GK104的SMX结构改进以及NVIDIA的架构发展过程联系在了一起。

    为NV“融合”打基础? GTX680架构深入探秘
    Kepler引入的全新Scheduling过程

      GPU的逻辑结构决定了它并不适合被用来执行关联度过高过深的条件分支过程,因此对于任务的关联性检查以及将关联指令打散到不同的线程块中就成了整个GPU任务队列执行过程中一个非常重要的步骤。在以Fermi为代表的传统仲裁体系中,任务会在解码过程之后完成指令的关联性检查,如果指令存在超过一定限度的关联性,为了规避条件分支对性能产生的影响,这些指令会被重新打包以便ALU团簇进行吞吐。在完成这些关联性检查之后,明确执行方向的指令才会被送入流水线中进行执行。为了加快这一过程的速度,Fermi架构为这个过程提供了Multiport Post decode Queue以及对应Register的硬件支持。这部分工作执行的场所以及Multiport Post decode Queue和对应Register所处的位置,就在SM单元的Logic controller。

      在Kepler中,这一传统的过程发生了巨大的变化,任务会在进入GPU之前先根据Sched.info进行关联度判断以及选择,然后直接进行解码并被送入流水线中完成后续处理。传统的关联性检查以及指令重组等过程被Sched.info-select所取代。在执行过Pre-Scheduling过程之后,指令从解码到执行之间的延迟被大幅降低,整个流水线因此获得了更高的执行效率和复用率。而执行这一过程的场合也不再是SMX单元的Logic controller,它被挪到了我们熟悉的X86处理器,也就是你主板上插着的那颗CPU中。

    为NV“融合”打基础? GTX680架构深入探秘
    Kepler与Fermi架构对处理器依赖性测试

      为了了解Scheduling过程变化所带来的影响,同时收集Kepler架构对处理器依赖程度的相关数据,我们在4月中旬进行了GTX680处理器依赖性测试通过对关联性以及任务控制效率较为敏感的Fluid dynamics simulation以及CSM等测试,我们发现Kepler对处理器的依赖程度的确要高于Fermi。

      既然将Scheduling过程从Logic controller或者说GPU内部纯硬件执行转化成到处理器软件执行会加重GPU对处理器性能的依赖程度,那为何NVIDIA还要对Scheduling过程进行这样的改进呢?

    产品:GeForce GTX 680 NVIDIA 显示芯片

    4适当转移矛盾才是解决问题的优秀哲学

      ● 适当转移矛盾才是解决问题的优秀哲学

      Scheduling过程转变虽然带来了更高的处理器依赖度,但对于GPU本身来说却有着更多的好处。它成功的在不影响性能的前提下将GPU内部性能与晶体管/功耗负担的矛盾转移到了GPU外部,并利用由此换来的空间实现了更高的性能功耗比。

      由于新的Scheduling过程在CPU中基于软件形式完成,因此传统Logic controller中与Pre-Scheduling相关的硬件,比如Fermi中的Multiport Post decode Queue(解码后队列)以及对应的Register(寄存器)等等DCA(Dependency check Architecture,负责依赖性检查的逻辑结构)也就没有了存在的必要,它们所占用的晶体管资源可以被释放出来,Logic controller的规模也因此得以大幅削减。尽管目前的Pre-Scheduling只涉及中等以下关联性的延迟可预期指令的检查,并没有完全取代全部的Scheduling动作,关联度较深的指令依旧需要传统的硬件DCA来快速执行,但这一改进还是促使NVIDIA将SMX中Warp Scheduler的密度削减到了Fermi的1/3。

    为NV“融合”打基础? GTX680架构深入探秘
    Fermi架构SM单元内部的Scheduler以及Dispatch Unit比例

      除此之外,Pre-Scheduling让指令从解码到执行之间的过程变得更加简洁,从线程进入SMX到抵达ALU进行执行这一过程的延迟也被降低。延迟的缩短缓解了线程派发效率带来的负担,让硬件不再需要配备大量的分派资源来提升任务分派的效率,以便抵充前面延迟所带来的性能损失,因此SMX单元中的Dispatch Unit密度也随之得以降低。在SMX中,NVIDIA配给的Dispatch Unit密度只有Fermi的66%。

      DCA的大量削减以及Warp Scheduler和Dispatch Unit密度的下降促成了Logic controller的的最终瘦身,这不仅直接导致了NVIDIA可以放心大胆的扩张SMX单元的规模,将更多ALU资源纳入到GPU体系中去,更成功的将传统DCA硬件运行过程的功耗转移到了CPU当中。有了更多直接运算资源带来的性能,同时功耗矛盾也得到了缓解,GK104超过Fermi以及Tahiti的性能功耗比也就不是什么奇怪的事情了。

    为NV“融合”打基础? GTX680架构深入探秘
    Kepler构架Pre-Scheduling过程变化(图片修改自后藤弘茂先生博客)

      Kepler的表现非常直观地反映了NVIDIA解决问题的哲学,不论Pre-Scheduling还是GPU Boost,它们都具有将某些内部无法解决的矛盾转移到外部环境中并寻求适当的方式加以解决的特征。拥有这种弹性的思维模式的NVIDIA显然没有进入僵化以及固步自封的状态,这让NVIDIA最终得以克服了大量的困难,为我们奉上了一款性能功耗比以及绝对性能均十分出色的图形架构。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    5这主意只为Kepler而生?

      ● 这主意只为Kepler而生?

      全新的基于CPU执行的Pre-Scheduling过程为Kepler带来了不小的好处,可以说它是Kepler架构成功的关键要素之一。但这样的功能真的只是如NVIDIA所描述的那样,在公司确定Kepler极高能耗比这个“不可能完成的任务”(庄海欧语)之后才被迫掘地三尺找出来的临时的解决办法么?如果你真的这么以为,那你就天真了。

    为NV“融合”打基础? GTX680架构深入探秘
    NVIDIA与斯坦福大学联合发布的Echelon架构论文

      2011年8月,NVIDIA与斯坦福联合发表了一篇名为《Power and Programmability.The Challenges of ExaScale Computing》的论文,该篇论文探讨了一系列性能与功耗增长关系以及未来运算逻辑结构设计方面的问题。除提交了一系列当前架构环境下不同逻辑结构的典型性能功耗状况数据并展现了性能功耗比对未来运算架构发展的影响之外,该篇论文最大的亮点在于NVIDIA拿出了针对性能功耗比以及未来并行机图形运算需求的解决方案——Echelon架构。

      Echelon架构面向10nm这一目前半导体工艺能够达到的实际界限,计划拥有290平方毫米左右的芯片面积。该架构暂时未包含光栅化在内的常规图形处理单元,虽然不能完全排除NVIDIA放弃光栅化专利墙的优势,转向以超大规模运算能力来直接完成图形处理全部过程的可能性,但这对于手握大量专利的NVIDIA来说太异于常规,因此我们认为Echelon是一个针对未来NVIDIA架构中运算部分组成的ISA(Instruction Set Architecture,指令集架构)。

    为NV“融合”打基础? GTX680架构深入探秘
    Echelon架构细节

      Echelon架构拥有惊人的256个SM单元以及16个DRAM I/O或者说MC(Memory Controller),整个构架拥有最多3级的庞大unified cache体系,这令其无论在总吞吐能力还是可用带宽方面都将达到令人叹为观止的高度。但整个架构最引人瞩目的部分并不在此,Echelon架构最大的亮点在于全新引入的LOC(Latency Processor)单元,这一单元将充当Echelon架构的Scheduler并完成全部的线程仲裁任务。而这,才是Kepler引入CPU执行Pre-Scheduling过程的真正原因。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    6“这是计划的一部分”

      ● “这是计划的一部分”

      LOC单元是一个拥有完整处理器ISA的通用处理器单元,基于OoO(Out of Order,乱序执行)模式,其内部包含完整的Register、多级I/D Cache、队列管理器、Integer ALU/FPU以及Load/Store等通用处理器架构组成部分,可以执行包括运算以及逻辑控制在内的各种泛用性应用任务。

    为NV“融合”打基础? GTX680架构深入探秘
    LOC单元架构图

      通过公布的IC结构,我们基本上可以认定LOC就是一枚标准的ARM处理器,也就是NVIDIA目前正在进行中的Project Denver(丹佛计划,NVIDIA独立研发的首个ARM处理器核心)。按照NVIDIA公布的数据,LOC可以以平均2nJ(纳焦耳,10的负9次方焦耳)的能耗来完成一个25pJ(皮焦耳,10的负12次方焦耳)能耗的FMUL操作的Scheduling过程。

      Echelon架构将会把通用处理器直接纳入到GPU运算构架当中,并让其充当Scheduler这样的任务仲裁分配机制,而Echelon架构前置的Kepler构架则开始将Pre-Scheduling过程交给通用处理器进行处理。现在你还觉得这是一个临时性的只为解决特定问题而产生的决定么?

    为NV“融合”打基础? GTX680架构深入探秘
    Echelon架构SM单元结构

      没错,Kepler中所谓黑科技的全新Scheduling过程以及SMX结构的设计初衷,实际上都是对Echelon架构的提前预演。为了能够尽早适应任务仲裁机制从专用处理器向通用处理器的过渡,更好的完成NVIDIA版本的CPU/GPU“融合”过程,NVIDIA在Kepler上便开始了对使用通用处理器来处理Scheduling过程的探索以及经验积累。事实上不仅仅是Kepler,从Tesla构架的G80开始,NVIDIA就已经在一步步地利用过去的构架来实现“未来的目标”了。

      什么?五年多以前的G80竟然会与未来的Echelon架构有联系?NVIDIA版本的“融合”又是怎么回事?要获得这些问题的答案,我们不妨先来回忆一下NVIDIA自G80开始一路走来所经历过的事情,来看看它到底都干了些什么吧。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    7命运的阶梯

      ● 命运的阶梯

      2006年11月,MVIDIA发布了具有划时代意义的G80架构。G80首次引入了完整可用的GPGPU能力,它通过引入Shared Memory这一全新的缓冲存储体系、强调TLP的并行线程管理及吞吐模式以及宏观SIMD与微观MIMD的结合等一系列举措,正式将通用计算性能带入了GPU的世界。

    为NV“融合”打基础? GTX680架构深入探秘
    G80架构细节

      接下来发布的GT200对G80进行了进一步的完善,除了SM单元和缓冲规模的放大以及Thread并行吞吐能力的提升之外,GT200进一步将寄存器密度提升到了G80的一倍,同时引入了Atomic(原子操作,一种将若干线程凝固成一个不可再分的线程块的管理手段)等更加先进的线程管理机制,完善了与通用计算相关的各种特性的全面支持。

    为NV“融合”打基础? GTX680架构深入探秘
    GT200架构图

      2010年3月到来的Fermi架构构成了NVIDIA一系列稳步计划的第三步。在Fermi架构中,NVIDIA首次引入了GPC为基础的宏观并行模块化设计,将整个GPU划分成了可以并行运行的4组SM团簇;加入了Unified cache体系作为全新的缓冲机制;还将构架的双精度通用计算性能提升到了单精度的1/2。

    为NV“融合”打基础? GTX680架构深入探秘
    GF100架构图

      在最后登场的Kepler架构中,NVIDIA在维持GPC并行结构的前提下大幅改进了SM单元。如同我们前面所提到的那样,新的SMX单元将Logic controller的占比大幅调低,把相当一部分Scheduling过程从GPU中剥离出来交给了CPU去处理,并利用节省下来的晶体管和面积资源扩充了SMX单元以及整个GPU的吞吐能力。

      6年时间,4组构架,NVIDIA为我们摆下了一个通往命运的阶梯。接下来,就让我们继续向前,来看看这阶梯究竟通向何方吧。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    8阶梯延伸的方向——NVIDIA的“融合”

      ● 阶梯延伸的方向——NVIDIA的“融合”

      与强调灵活度,仲裁及管理机制占去了大量资源比例且实行串行吞吐的CPU不同。从一般意义上来讲,“原教旨”的GPGPU是一个舍弃掉一部分提升灵活度的仲裁及控制机制,转而将这部分资源用来实现最大化强调吞吐的并行逻辑结构,它具有吞吐量巨大,在优化得当的前提下能够以最低的能耗实现最高性能的特征。

    为NV“融合”打基础? GTX680架构深入探秘
    即便是Intel的GPGPU,同样也是要削减一部分仲裁机构的

      原教旨GPGPU由大量单级流水线的简单处理单元以及“必要”的仲裁机构组成,处理单元负责快速处理已经被细化的简单任务,而仲裁机构则负责将任务并行化的输送给必要的处理单元。由于分派过程的合理性以及延迟决定了并行单元最终的吞吐效率,所以想要有效的提升GPGPU的有效吞吐,仲裁机构对于原教旨GPGPU来说依旧是必不可少的。但由于仲裁机制并不能直接产生Flops,同时仲裁过程所占据的能耗又是一个相当可观的数字,这明显与原教旨GPGPU的特征相悖,所以目前这种矛盾体的状态极大地限制了GPGPU结构的发展以及当前GPU在通用计算过程中的最终表现。

      有没有解决矛盾的方法呢?有,答案是异构运算结构。

    为NV“融合”打基础? GTX680架构深入探秘
    最典型的异构运算架构——Cell

      原教旨GPGPU中的仲裁机制大多采用了针对性极强的的专用处理器,这类处理器虽然有较高的执行效率,但因为不具备泛用性以及任何可通用的运算能力,所以原教旨GPGPU不仅需要多个不同用途的专用处理器共同完成全部的任务仲裁及分配过程并因此而产生实际上更高的能耗,而且这部分过程所消耗的能源全都无法直接转化成运算能力。如果用一个通用处理器以软件的形式来实现过去多个专用处理器实现的功能,同时进一步辅助运算单元输出有效运算过程,则不仅可以降低仲裁过程所产生的“非直接有效功耗”,还能进一步提升整个体系的总运算能力。由此可见,将通用处理器或者说CPU与GPU结合在一起,将对整个GPGPU体系的性能带来极大的帮助。

      NVIDIA就是这么干的,它所提出的Kepler之后的图形/通用计算构架Maxwell,就是这样一个将通用处理器与常规GPGPU“融合”在一起的结构。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    9拾阶而上

      ● 拾阶而上

      尽管从时间点上来看,Echelon架构并不是Maxwell的第一款产品,但从Echelon身上我们依旧能够看到诸多的Maxwell特性。可以预见,Maxwell将会是一个进一步强调吞吐的并行运算,同时拥有极高灵活度和通用性的架构。

      Maxwell会将几乎全部的任务仲裁和分配管理任务交给融入GPU构架的通用处理器,也就是Project Denver设计的ARM CPU来完成,这种做法在确保任务分派能够及时完成的同时赋予了整个构架更大的灵活度和单元复用率,同时还给SM单元腾出了巨大的可扩展空间,这部分空间既可以被用来扩充ALU团簇的规模,亦可以给更大的Unified Cache提供安身之所。更大的吞吐能力,更多缓冲带来的良好单元复用率以及新仲裁机制带来的高线程效率会让Maxwell的绝对性能以及每瓦特性能达到NVIDIA架构发展史上最高的水平。而这两点,恰恰是一款优秀GPU所应该具备的最基本特质。

      将这些特性集于Maxwell架构一身的,正是过去6年来NVIDIA历经4代构架所完成的阶梯式的发展体系和完整的经验积累过程。

    为NV“融合”打基础? GTX680架构深入探秘
    Echelon架构细节

      在第一级台阶中,G80的革新为GPU带来了图形及通用计算所需要的根本特性,也就是新的包含shared在内的寄存器溢出缓冲体系以及并行化的Thread吞吐及管理模式,这为GPU打开通用计算大门的同时,也将高单元复用率+高Shader效率的NVIDIA图形构架发展基线确定了下来。

      在G80完成了基本特性的引入之后,接下来的GT200对资源的扩充让NVIDIA完成了Thread吞吐量以及吞吐管理模式的摸索,Atomic等操作模式的引入让NVIDIA在线程管理和效率提升方面获得了更多经验,而密度翻倍的Register则让NVIDIA获取了GPU完成双精度运算所需基本条件的重要数据,并最终令NVIDIA掌握了实现半速双精度浮点运算的方法。

      第三级台阶上的Fermi所做的事情同样重要,利用GT200上获得的经验,它顺利的将体系的宏观并行化以及任务群的并行化处理提上了前台并以此提升了图形和运算过程的整体执行效率,开始了对Unified Cache这一更好的寄存器溢出缓冲的应用探索,并结合统一定址展开了CPU进驻GPU内部的准备工作。这些特性的引入不仅让纯数学层面的通用计算应用获得了更好的执行环境和效率,更为DirectX 11这样将图形运算与通用计算结合在一起的游戏应用提供了不错的执行环境。

    为NV“融合”打基础? GTX680架构深入探秘
    G80~GF100架构发展示意(图片引自后藤弘茂先生博客)

      接下来,在目前铺筑台阶的最高一层上,Kepler开始了整个计划中最关键同时也是最重要的一步——它将线程仲裁及管理工作从GPU内部逐步过渡到CPU,让NVIDIA得以提前适应特定任务处理过程从专用处理器向通用处理器转变的过程,为CPU的工作与GPU的工作连接成一个异构化的整体做好了准备。与此同时,Kepler也开始了对如何使用Logic controller所留下的空间的摸索工作。

      这就是NVIDIA为我们以及他自己所铺筑的通往目标的阶梯,从G80开始,每一代NVIDIA的GPU架构都存在着一个需要完成的目标,这些目标之间彼此关联并且最终指向了一个明确的目的地,那就是Maxwell以及NVIDIA版本的CPU/GPU“融合”方案。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    10是什么成就了今天的NVIDIA?

      ● 是什么成就了今天的NVIDIA? 

      是什么为NVIDIA铺成了这条完整的阶梯?是什么让NVIDIA能够有条不紊的同时保持通用计算与图形计算双线的并行发展,并最终将它们合二为一?又是什么让Geforce GTX680在现在这个时间点上收获了NVIDIA构架中最高的性能功耗比呢?

      答案其实很简单——带给NVIDIA以及Kepler今天的表现的,是完整的计划性以及对计划坚定贯彻的执行力。

    为NV“融合”打基础? GTX680架构深入探秘
    不同逻辑结构在进行操作时的典型单位功耗

      尽管GPU以及GPGPU的发展看上去充满了变数,动不动还会冒出来一些“不得已”的转变过程,但从整体角度出发,两者千金以及最终结合的大方向是没有改变的。不管这个最终目标是否正确,想要达到它都需要一个完整的长期计划以及对这个计划坚定不移的执行能力。

      NVIDIA最终的目的,在于推出一款能够很好地处理并行线程和指令吞吐,拥有良好双精度运算能力,单元复用率足够高同时每瓦特性能出色的GPGPU构架。该构架同时还要具有良好的图形与通用计算的结合性,能够很方便的延伸到桌面及专业图形领域。为了达到这一目标,尤其是获得最理想的每瓦特性能,NVIDIA选择了异构作为自己现阶段发展的最终目标,这一目标从制定的第一天起就未曾改变过。

    为NV“融合”打基础? GTX680架构深入探秘
    40年来半导体芯片各项参数的发展汇总

      为了达到这一目标,NVIDIA要分别面对获得大并行度线程管理经验、提升体系执行效率以及单元复用率、掌握代价可控的完成双精度运算的方法以及将通用处理器与传统GPU结合等一系列困难。于是,在完整的计划性的指挥下,G80带来了最初的并行Thread管理经验和寄存器溢出缓冲;GT200完成了对双精度运算的寄存器需求探索同时引入了更加先进的Thread吞吐和管理机制;GF100收获了体系宏观并行度以及Unified Cache所带来的提升单元复用率的经验,同时,同时以统一定址为更好的通用计算应用性和CPU介入GPU事物创造了条件。而刚刚到来的Kepler,则在继承了前面积累的所有经验的基础上正式开始了将GPU工作过渡给CPU来完成的异构计算模式,为完整的异构架构以及最终的CPU/GPU“融合”构架打开了最关键的一道大门。

    为NV“融合”打基础? GTX680架构深入探秘
    即便是GT200时代被迫进行的成本出血也未能让NVIDIA改变目标

      在这6年的时间里,NVIDIA的架构发展并非一帆风顺,它经历了家用机对PC图形API发展的冲击以及阻滞,切身感受了D线压迫的威力,被Fabless导致的落后的EDA能力困扰了许久,甚至因为竞争对手先发小核心策略的原因而在成本层面持续了近2年之久的无法止住的出血,但是这些困扰都没有干扰或者改变NVIDIA最开始的初衷。

      坚持,让NVIDIA终于换来了今天的Geforce GTX680,同时也成功的守住了自己最初的目标。

    产品:GeForce GTX 680 NVIDIA 显示芯片

    11尾声:我们不要独角戏

      ● 尾声:我们不要独角戏

      “完整的计划性以及对计划坚定贯彻的执行力”这件事表面上看似乎是一个企业级的问题,与常规的消费者关联不大。很多人都会抱持着这样的观点——作为消费者,我们只需要获得合适的能够满足自己需求的产品就行了,企业的文化或者发展方式与我们有什么关系呢?

    为NV“融合”打基础? GTX680架构深入探秘
    除了需求,还有很多因素决定着我们能否获得优秀的产品

      静下心来仔细想想,相信你一定不难发现这里面的关系。优秀的能够满足消费者需求的产品诞生的前提,在于图形架构坚实的向前发展以及稳定的性能提升,而能够带来这一结果的重要因素,恰恰就是企业在图形架构研发过程中完整的计划性以及对计划坚定贯彻的执行力。看似与我们毫无关系的所谓企业研发方式以及态度,正是我们能够获得令自己满意的产品的最根本条件。

    为NV“融合”打基础? GTX680架构深入探秘
    更加“规律”的NVIDIA GPU演进路线

      如果NVIDIA没有完整的计划性,而是如同竞争对手一样将目光局限在脚下以及纠正前一代产品所积累的错误上,如果NVIDIA没有坚定的执行力,而是像竞争对手一样在遇到挫折之后放弃自己原定的计划,转而开始迎合短期需求的饮鸩止渴似的开发和推广行为,如果NVIDIA没有坚持在遇到挫折时选择sweet spot等弹性的应对方式,在被迫面对成本出血是没有选择咬牙坚持,我们将会获得什么呢?我们还能看到今天这个绝对性能与性能功耗比同样出色地GTX680么?

    为NV“融合”打基础? GTX680架构深入探秘
    惜败于计划性以及贯彻力欠缺的Tahiti

      如果AMD同样可以拥有完整的计划性,我们会在今天遗憾的收获一个背上沉重的纠错负担和D线压力并最终因此而惜败给Kepler的Tahiti么?如果AMD同样拥有坚定的计划贯彻能力,Tahiti会有机会背负这些本不该属于它的沉重负担么?如果AMD同样在面对成本出血时选择了坚持,我们还会像现在这样望着2999的sweet spot产品唏嘘不已么?

    为NV“融合”打基础? GTX680架构深入探秘
    价格令人感到唏嘘不已的sweet spot级GCN——HD7800

      每个人心中都有一杆秤,所以这些问题的答案,还请各位自己思索吧。我们只需知道任何一种不平衡的发展方式,也就是所谓的独角戏状态,对消费者不会带来任何好处就可以了。

    为NV“融合”打基础? GTX680架构深入探秘
    GTX680身上还有很多细节等着我们去探索

      在今天的文章中,我们揭示了Kepler架构中新的Pre-Scheduling过程的特点、产生原因以及背后的意义,而这仅仅是Kepler架构众多“黑科技”中的一个而已。在未来的文章中,我们会陆续对更多Kepler架构以及Geforce GTX680的细节特点、成因和它们的意义进行深入的探讨与解读。如果你想更深入的了解自己正在使用的产品,直面逻辑结构中那些赏心悦目的精妙设计,甚至透过掌握现象间内在的联系而获得预测产品未来走向的能力,就请继续关注中关村在线显卡频道的其他精彩内容吧。

      最后,本文引用了由后藤弘茂先生制作的精美图片,在此深表感谢。

    12微星GTX680 Twin Frozr III详细参数

    返回分页阅读本文导航
    不喜欢(0) 点个赞(0)

    推荐经销商

    投诉欺诈商家: 010-83417888-9185
    • 北京
    • 上海

    显卡文章推荐