MCPLive > 杂志文章 > Fermi技术细节抢先预览

Fermi技术细节抢先预览

2009-11-13Cho《微型计算机》2009年10月下

掌控全局——GigaThread 3.0线程调度器

双层线程分配调度器设计是Fermi重要的技术之一。在SPA(Streaming Processor Array,流式处理器矩阵)里面,有一个全局工作分配调度器(global work distribution engine),它负责将Thread block排程分发给SPA中不同的SM。而SM里面的两个Warp调度器则负责把32线程一组的Warp分配到合适的执行单元。

基于第一代GigaThread引擎的G80能实时管理多达12288个Thread,而在Fermi上不仅线程总数增加了一倍,还提升了context switching(上下文切换)的性能。

应用程序上下文切换——十倍速度

和CPU一样,GPU也可以利用上下文切换(Context Switching)来实现支持多任务(multi-taksing)操作。Fermi的流水线架构已经针对应用程序的上下文切换进行了优化,切换的时间被缩短到10毫秒~20毫秒,较以往的GPU来说有显著的提升。


FMA指令可以避免精度的损失

除了性能的提升,上下文切换还允许开发人员开发出进行频繁kernel-kernel间通讯的应用程序,例如在图形渲染应用程序和计算应用程序之间进行细粒度的互操作。

提升多任务效率——Concurrent Kernel Execution(并发核心执行Kernel)

Fermi首次实现了并发核心程序执行(Concurrent kernel execution,以下简称"CKX"),可以让GPU在同一时间执行同一个程序的上下文的不同核心程序。CKX可以让程序执行多个小kernel,从而充分利用整个GPU。例如一个物理程序可能包含了流体解算器和刚体解算器,如果串列执行的话,只能用到一半的线程处理器,而CKX就可以避免这个问题。不同程序上下文的kernel之所以能够非常高效地串列执行,是因为上下文切换速度得到了改善。

总结:为GPU Computing而生

如果以GeForce 256为起点,GPU发展至今已经有10个年头。在这10年间,GPU架构发生了许多变化。如果说GPU的出现是为了让CPU从TnL计算中释放出来,那么从G80开始我们可以认为,业界正试图把更多的计算负荷从CPU转移到GPU上来,例如物理现象模拟、影像合成、科学计算,即NVIDIA提倡的GPU Computing,GPU开始承担更多的任务。

G80引入了实现线程间共享的Shared Memory(共享式内存)和barrier同步能力;引入了让不相依的多个线程同时执行单个指令的SIMT(单指令多线程)执行模型。G80奠定了GPU Computing应用的基石,而GT200则是在此基础上的增强,它使得寄存器数量倍增,实现了内存存取操作合并,支持硬件双精度浮点运算。到了Fermi,则是代表着GPU Computing在硬件架构和编程模型上已经进入成熟而完备的阶段。

与单纯地增加功能单元的做法相比,Fermi的设计团队解决了若干个GPU Computing方面棘手的难题。在Fermi架构上,数据局部性的重要性通过L1/L2 cahce得以展现;强大的并发式kernel执行让GPU执行多任务能力达到了空前的水平;显著加强的双精度浮点性能设计让GPU达到超级计算机的性能水准。后,Fermi还支持ECC技术,这从硬件架构上扫清了NVIDIA GPU进入HPC市场的障碍。NVIDIA表示,基于Fermi的显卡会在今年底或者明年初上市,价格取决于届时NVIDIA面临的竞争态势。

分享到:

用户评论

共有评论(5)

  • 2009.12.15 15:27
    5楼

    我是NV的FANS 其实NV现在采取的策略和A当年的相似~~~ 大家有没有注意到NV现在出的GT220,GT240卖的很红火 当年NV在占高端的时候低端也能用8或者9系列和AMD较真 而现在AMD在抢高端的时候用的还是4代的老产品在扛低端~NV早就除了GT220 240了 其实可能大家看到的不太全面咯 GT300出来后,照样能夺回性能宝座,到时候AMD的产品输的可就不是这两三个月的问题了。

    (0) (0) 回复
  • 2009.11.25 13:38
    4楼

    CUDA在消费市场的表现实在不怎么好看,至少没让我觉得在A和N的选择中能作为够分量的一颗砝码.还有一个关心的问题,"Fermi"会不会真的很"费米"?

    (0) (0) 回复
  • 2009.11.22 17:00
    3楼

    事实上NV现在是不是技术的成功者也值得探讨。N和A的架构孰优孰劣只能透过实际检验来衡量,事实上如果所有的测试或者游戏都关闭了优化的元素之后,两家厂商的芯片性能其实一直是在伯仲之间。 Fermi的架构看图的确很吸引人,但是NV忘了一样东西,那就是想象可以无限大,但是后却都只能立足于一片小硅片之上。随着GPU功能的复杂化,制程的更新已经明显跟不上,Fermi迟迟不能生产就是好的例子。NV继续坚持大芯片的道路现在看来无疑是错误的。 事实上NV的确很厉害,它拥有一大堆自有标准,例如PhysX和CUDA。它的确一呼百应,一大堆THE WAY游戏就是证明。但是,今天的NV和当初的3dfx何其相似,抱着自有的标准,做着黄粱美梦。事实上,任何的标准都可以有替代品。当年DirectX替代了GLIDE,今天同样Direct Computing和OpenCL可以替代CUDA和PhysX。希望NV还是要踏踏实实做好芯片的研发,不要以为自有标准是万能的。所谓的合作伙伴都是商人,商人是唯利是图的,当年他们可以抛弃3dfx,今天就可以抛弃NV。

    (1) (0) 回复
  • 2009.11.22 12:45
    2楼

    技术的成功者,市场的失败者,NVIDIA越来越接近这句话了

    (0) (0) 回复
  • 2009.11.20 10:39
    1楼

    很强大,期待和5870的对比。

    (0) (0) 回复

用户名:

密码: