传统意义上GPU并不需要什么复杂的线程控制单元,比如AMD经典的4D+1D架构,恰好对应了3D计算中x、y、z、alpha以及一些特殊计算。这样的设计在图形计算中可以发挥出大的效能。不过随着GPU的发展,GPU庞大的并行计算能力渐渐被开发出来。这个时候,GPU本身的内部指令并行化的问题就被提上了台面。
NVIDIA在G80设计时就考虑到了大规模CUDA Core需要一个控制中心,G80中就设计了Thread Scheduler,直译就是线程调度单元。这个单元的作用就是将一堆堆涌入的指令进行排序、打包,并根据CUDA Core的情况调配指令到那些空闲又需要工作的地方去。Thread Scheduler的存在,让GPU变得具有一定的指令处理能力,而不再是傻乎乎的无脑肌肉大汉只能进行计算。
不过T hread Scheduler的发展速度渐渐跟不上GPU的发展了。早期的NVIDIA显卡的CUDA Core还只有128个,那个时候每个CUDA Core中有一个ALU和一个FPU,CUDA Core本身也有一些极简单的线程排序功能,还凑合够用。在Kepler时代后,Giga Thread Scheduler这样的设计面对庞大的、高达2000多个CUDA Core,虽有所加强,但还是不够用,即使NVIDIA宣称Giga Thread Scheduler的性能相比Thread Scheduler提高了10倍。
当然,现在的显卡计算也变得更为复杂,特别是新版本的CUDA引入了诸如一些分支判断等功能,让整个架构更为智能的同时也更为复杂(Kepler干脆把Scheduler过程扔回给了CPU)。在这种情况下,Giga Thread Scheduler或者类似的东西就完全跟不上趟了。
于是,NVIDIA需要用一些更强大的设计来改善这种情况。GPGPU的发展要求更智能、更开放的并行计算。NVIDIA选择了ARM,试图采用一些高性能的ARM核心来帮助GPU判断任务、处理线程并行中遇到的难题。早在2011年,NVIDIA就宣布了主攻高性能计算市场的“丹佛计划”,黄仁勋曾经说:“丹佛工程是一款64位处理器,是完全定制设计的ARMv864位处理器,还有一些激动人心的秘密调料(some exciting secret sauce),但现在我们还不能说太多……唯一能告诉你们的就是,丹佛会非常棒!”黄仁勋对NVIDIA的ARM处理器看来非常满意。当然,这并不意味着GPU中需要放丹佛计划的ARM处理器进去,不过NVIDIA也的确在进行着在GPU中纳入ARM核心的计划。
NVIDIA帮助美国国防部进行的另一项计划叫做Echelon,NVIDIA的任务是设计强大的并行计算模块。根据已经公布的资料,Echelon将拥有128个SM模块(包含大量CUDA Core和缓存)以及8个Latency Processor核心,而后者就极有可能是丹佛计划中的高性能A R M处理器。终Echelon集群将实现20TFlops的计算能力,每颗Echelon芯片拥有2.56PFlops(Maxwell大概在10TF lops,约为0.01PFlops)。可想而知,如此庞大的计算能力的确需要多颗CPU来进行管理,CPU和GPU的合二为一才是未来发展的真正方向。
至于Maxwell,是否有A RM核心出现在其中,目前的确不明确。如果有可能的话,ARM核心会出现在Maxwell有关高性能计算的产品中,帮助处理一些GPU比较擅长的判断、分支、跳转、排序等操作任务。毕竟从路线图来看,NVIDIA的丹佛计划和Maxwell揭秘时间都差不多是2014年。当然,未来如何发展,也只能走一步看一步,毕竟NVIDIA现在紧守口风,没有一点消息露出,所有的内容都只能猜测了。
线程调度模块已经成为NVIDIA GPU中的庞大模块了,Fermi晶圆照片中的紫色部分可能就是线程调度模块。
NVIDIA在GTC2013还发布了一些未来产品的计划,其中令人关注度就是Volta。根据NVIDIA的标识,Volta相比Maxwell,将进一步提升每瓦特双精度性能,少都是直接翻倍,其性能应该是Maxwell的2~3倍之间。这就意味着Volta有可能在250W功耗下,成为首个双精度性能突破10TFlops的GPU产品。
Maxwell会采用20nm工艺并延续大约2年的时间。2年后也就是大约2015年底到2016年,在Max well退市、Volta上市时,TSMC的工艺将会进化至16nm或者14nm。也就是说,在同样面积下,Volta容纳的晶体管数量将是现在Kepler的4倍左右。根据GK110在500平方毫米左右拥有71亿晶体管来计算的话,新的GV100或同档次产品将拥有280亿~300亿左右的晶体管。
NVIDIA在路线图上还给出了Volta的重要信息,那就是它将采用Stacked DRAM显存。这种显存技术将GPU和显存之间传统的PCB走线连接大幅度缩短,采用堆叠封装的方式,通过芯片上的硅穿孔,将显存和GPU直接连接,从而获得超高的位宽和带宽。保守估计Volta的GPU带宽将达到1Tib/s的水平,大幅度超越目前主流的250GB/s的带宽水平。
如此强大的计算能力和带宽,Volta将带给玩家无与伦比的视觉效果。在2016年前后,全新的DirectX 12可能会顺势推出。结合Volta的强大性能,玩家可以进一步享受更逼真的视觉效果。
事实上,预测这个事儿在很多情况下都不太靠谱。IT领域的预测也一样,之前多少能人志士的预测在几年后都被证明纯属胡扯。究其根本原因,主要还是这所有的预测,都基于目前的情况给出未来的方向。也就是说在这些预测中,环境是静止的,不考虑整个技术大环境的突破仅仅基于自身发展。但没人能说明未来的环境会如何改变,因此所有的预测成功可能性都不高。本文也做出了一些浅薄的预测,除此之外的大部分信息都是根据目前已有的资料进行了一些推测。即使如此,失败的可能性依旧很大。本文的主要目的在于帮用户梳理未来产品的发展方向,而不是来求证这些预测是否一定可靠。