Fermi,对于DIY爱好者来说它是“让人欢喜让人忧”。喜的是Fermi的性能、规格及功能足以颠覆GPU传统概念,忧的是从得知有这款产品到现在仍然没有发布,而对手的DirectX 11产品已经在半年前发布。
笔者为何认为Fermi能够颠覆传统GPU概念?为何Fermi如此难产,在对手已经将Radeon HD 5000系列布局均已完毕的前提下仍没推出DirectX 11产品?今天笔者将会通过总结网络各路消息和自己知道的有关Fermi消息进行汇总,从而揭开它神秘面。
● 第一次亮相震惊全球 却是马甲
在去年Fermi一直是只闻其声不见其人,即便到今天为止基于Fermi的GeForce产品仍处于高度机密的状态,这种前所未有的保密措施让我们对这个神秘的产品产生了浓厚好奇心。
Fermi相关产品第一次官方亮相,当属2009年9月30日NVIDIA在美国圣何塞举办的GTC大会上,NVIDIA首席执行官黄仁勋左手携Fermi高调亮相,虽然这款产品当时为Tesla系列产品,并非图形产品的GeForce和Quadro,但是由于其神秘的魅力还是震惊了在场所有观众和全球用户。
NVIDIA GTC大会黄仁勋先生展示Fermi
Fermi这次亮相,全球媒体和用户都在猜测它是成品卡还是无法工作的样品卡,虽然当时各种官方说明都表展示卡为成品卡,但是眼尖的发烧友还是发现它的各种漏洞,最终官方不得不承认其仅为样卡。但无论它是样卡还是成品卡,这次亮相着实让全球用户为之振奋,起码其已经进入到最后调试阶段。(相关报道请见《NV GTC大会拉开帷幕 开启GPU计算新纪元》)
野史:这次尴尬的高调亮相,并不是因为NVIDIA还没有设计好Fermi,而是台积电为其代工图形核心良率一直不佳导致。从而让即使是芯片设计厂商的NVIDIA手里,也没有几个可以用于实际测试的可运行样品(据传当时仅有的几颗打样核心全都坏了),所以在NVIDIA GTC大会上仅用马甲展示,而非实际样卡运行演示。
● Fermi二次亮相 不做最早只做最好
相隔NVIDIA GTC大会半个月后,黄仁勋先生来到中国,作为NVIDIA产品消费能力最大的一个市场,任何厂商都不会对中国放松。本站作为国内重量级IT垂直门户得到黄仁勋先生的认可,同时在10月27日中关村在线视频直播间,黄仁勋先生接受本站独家直播专访,并在专访过程中官方第二次展示Fermi产品。
黄仁勋先生此次在本站与网友零距离的互动直播中,让我们更进一步了解了NVIDIA在下一步DirectX 11产品——Fermi上的计划。同时黄仁勋先生坦承的表示,虽然对手已经领先我们推出了DirectX 11产品,但我们只追求更好的功能、性能,而不是为了抢先发布而发布。虽然对于我们用户而言,晚发布确实遗憾但如果能通过更强劲的性能和功能来弥补,又何乐而不为呢?(相关报道请见《黄仁勋:Fermi值得期待 新架构新纪元》)
野史:黄仁勋先生结束中国大陆之旅后,传闻直接飞往台湾与台积电高层进行,就生产线及良率问题展开密切合作,足见无论是消费者还是NVIDIA都对Fermi有着非常急切的心态。
● Fermi第三次亮相 只可远观不可亵玩焉
时间调整至2010年1月7日,地点全球著名赌城拉斯维加斯,一年一度的CES(美国国际消费电子展)隆重召开。NVIDIA作为视觉领域的领军人物自然不会错过这个展会,同时也会展示自己最为先进的技术和最强的新品。
作为CES的官方合作媒体,中关村在线对整个会场做了全程跟踪报道,其中就包括NVIDIA的Fermi展示。作为Fermi的第三次官方亮相,并没有比上两次好多少,虽然展示了可运行整机,但是机箱内部不让拍照导致我们无缘Fermi for GeForce产品的真面目。不过在技术展示中,我们见到了NVIDIA针对AMD Eyefinity技术设计的NVIDIA 3D Vision Surround技术。(相关报道请见《美国CES直击 NV首款DX11显卡Fermi演示》)
PS:Fermi的再一次“犹抱琵琶半遮面”亮相,让我们着实的感受到Fermi在良率上的困扰,同时也让我们对Fermi的无限期跳票感到无奈。
● Fermi第四次即将亮相 期待CeBIT
与ComputeX、CES齐名的CeBIT(信息及通信技术博览会)将于3月2日在德国汉诺威召开,此次NVIDIA一如既往的会加入到其中,而且NVIDIA此次在展会上的重中之重仍然是Fermi。
Fermi相隔上一次CES亮相2个月后又会有何进展呢?一切都是未知数,让我们期待Fermi的第四次亮相,会给我们带来真正的惊喜,而不是一次又一次的失落。
野史:据传基于Fermi图形核心的GeForce产品将于3月26日正式发布,也就是说在CeBIT电脑展上应该会有成熟且和正常、稳定运行的相关产品。同时笔者了解到,此次参加CeBIT的AIC板卡厂商也会跟进展示Fermi相关GeForce系列产品,从另一个角度印证Fermi已经蓄势待发。
GTX480/GTX470身份亮相 蓄势待发
NVIDIA下一代图形核心以Fermi作为代号,而实际产品型号一直被广大网友猜测为GeForce GTX 300系列,最顶级产品将会叫做GeForce GTX 380。会有这样的猜测,主要是根据NVIDIA以往产品的命名规则而得。不过遗憾的是,这次NVIDIA并没有按套路出牌,基于Fermi图形核心的GeForce顶级系列产品命名为GeForce GTX 480和GeForce GTX 470。
关于GeForce GTX 400系列产品性能众说纷纭,有说能与Radeon HD 5970抗衡,有说比Radeon HD 5870强30%,不过无论怎样笔者分析,既然已经比对手晚出半年之久,强是理所当然的,但强多少是用户和NVIDIA都非常关心的。
我们知道,在核心架构及规格确定的前提下,频率是最直接影响性能的参数,但同时频率的高低同时影响产品功耗及温度,最终影响产品返修率。为了达到稳胜前提下,又能保证功耗、温度及返修率的平衡性,NVIDIA目前还没有最终确定GeForce GTX 480和GeForce GTX 470频率,甚至有消息称GeForce GTX 470的频率将在即将开展的CeBIT 2010上才公布,足见NVIDIA的谨慎性。
● 核心架构浅析 Fermi并非GT200高规格版
我们知道直接影响性能的参数当属硬件规格和产品频率,但是高规格和高频率的实现必须由晶体管来足见完成,GT200第一批产品是一个采用65nm制程的14亿晶体管庞然大物,由于成本、性能等各方面的考虑,在2009年1月推出了55nm制程的GT200核心,但核心面积依然庞大。反观对手AMD,在核心制程上一直走在前沿,例如Radeon HD 5000系列直接使用40nm制程,即使最高规格的RV870拥有21.5亿核心面积也仅为330mm2。
Fermi GF100设计架构
众所周知,Fermi为了达到更高的性能将使用30亿晶体管,如果NVIDIA一如既往的保守采用成熟的低制程,将会重蹈GT200覆辙,所以Fermi方面NVIDIA从设计之初就决定使用40nm工艺。虽然出发点是好的,但无奈GPU代工生产方台积电良率过低,彻底延误了NVIDIA下一代产品的推进进度。
不过无论怎样还是让我们了解一下Fermi GF100的核心硬件规格:
①标配512个CUDA Cores(也就是我们常说的流处理器);
②拥有16个Polymorph Engines(下文会对其进行简介);
③拥有4个Raster Engines(下文会对其进行简介);
④拥有64个纹理单元;
⑤拥有48个ROP单元(光栅处理器);
⑥拥有384位GDDR5内存控制器。
●由繁化简 GF100结构组成细说
我们可以这样认为NVIDIA的第一代CUDA机构是从G80开始延伸至GT200,而Fermi将是第二代CUDA架构产品。G80核心的诞生奠定了NVIDIA未来核心架构的主方向,并一直延续至GT200,当然在发展的过程中NVIDIA还是会对核心整体进行优化调整,但总体来说就是累积晶体管增加硬件规格,功能方面并无变化。反观Fermi,核心硬件规格数量相比GT200确实也有大幅增长,但是在产品整体架构上Fermi做了很大改动,可以说是颠覆性改动,它不仅仅是借鉴的以前的成熟架构体系,还调整并在架构上新增功能模块,令Fermi不再简简单单的是图形核心,而是一个复合型功能核心。
在NVIDIA产品进入DirectX 10的统一架构后,我们看到核心中引入了TPC(Thread Processing Cluster)、SM(Streaming Mulitporcessor)和SP(Streaming Processor)等新概念。例如,G80拥有8个TPC,每个TPC拥有2个SM,每个SM拥有8个SP,这种由繁化简的结构一直延续在NVIDIA的图形产品中。那么Fermi GF100呢?下面笔者用表格进行一个汇总:
理 论 性 能 测 试 | ||||
G80 | G92 | GT200 | GF100 | |
每颗GPU含TPC数量 | 8 TPCs | 8 TPCs | 10 TPCs | 4 GPCs |
每个TPC含SM数量 | 2 SMs | 2 SMs | 3 SMs | 4 SMs |
每个SM含SP数量 | 8 SPs | 8 SPs | 8 SPs | 32 SPs |
通过上面的GF100 SM架构图以及各代顶级芯片的组成我们可以看出,SM矩阵数量在减少(上表中的GPC和TPC),而每个GPC中SM数量和每组SM中SP数量在增加。在这中架构设计理念上GF100虽然是延续了G80的组成设计,但是每个组成模块的数量优化上有了大幅改变。
当然仅是在数量优化上做改变还不能称为第二代CUDA架构,我们在GF100核心架构图和SM架构图上可以看到,相比G80/92和GT200核心架构多了Polymorph Engines和Raster Engines功能模块组。那么它们又是做什么的呢?
全新的Polymorph Engines和Raster Engines
我们可以这样简单的理解,在数据处理流程中的一些功能模块现组成了现在的Polymorph Engines和Raster Engines。其中Polymorph Engines包括Vertex Fetch、Tessllator、Viewport Transform、Attribute Setup和Stream Output,Raster Engines包括Edge Setup、Raterize和Z-Cull。
值得一提的是DirectX 11中Tessellation功能是必不可缺的,而Tessellator并不是使用SP来完成,而是采用独立功能模块完成,在这一点上与AMD的做法一致。但不同的是,AMD的Tessellator采用串行计算模式,也就是说核心中只有一个Tessellator功能模块,数据计算从分配到接收Tessellator会成为瓶颈。反观NVIDIA的GF100核心,每组SM拥有一个Polymorph Engines,这也就意味着一个GF100核心拥有16个Tessellator功能模块,在Tessellation多数据并行计算方面GF100遥遥领先RV870。
Polymorph Engines和Raster Engines在GF100中的设计
前文提过每组SM都会标配一个Polymorph Engines,同时每组GPC将独立拥有一个Raster Engines,这样的设计都是增加各种数据计算的并行效果,相比RV870的非Shader计算串行设计要优越很多。
● 真正缓存概念引入GPU
为了增加计算单元的效能,缓存的概念引入到功能处理器中,例如CPU现在已经拥有L1、L2和L3三个等级缓存,而在GPU中缓存概念还是十分模糊。
为了增加GPU的计算能力和计算效率,NVIDIA工程师大胆的将缓存概念引入到GF100中,自然引入缓存势必需要大量晶体管完成,在这点上与CPU道理相同。为了在满足数据计算吞吐率的前提下,NVIDIA工程师为GF100设计了一套实用并灵活的L1和L2。
我们通过上面表格可以看到,在GT200核心中有L1纹理缓存、16KB共享内存和256KB的L2缓存。笔者需要说明的是GT200没有专用L1缓存,只有L1纹理缓存和只读L2缓存,也就是说GT200没有真正意义上的缓存概念。
反观GF100核心,除同样拥有12KB的L1纹理缓存之外,其拥有真正意义的L1缓存和L2可读写缓存。就每组SM而言,每组SM拥有4个纹理单元共享12KB的L1纹理缓存,32个流处理器使用16KB L1缓存搭配48KB共享缓存或48KB L1缓存搭配16KB共享缓存两种组合,最后还有768KB超大L2缓存。
强大性能实现更高反锯齿/阴影效果
Anti-Aliasing(反锯齿)一直是用户较为关心的显卡功能,因为反锯齿效能直接决定游戏流畅度及画面效果。我们会在游戏画质设置中或者显卡控制面板中找到这个选项,例如开启2X、4X、8X等等,级别越高画质越好,对显卡性能要求越高。
通常我们所说的2倍、4倍和8倍抗锯齿都是指SSAA(SuperSampling Anti-Aliasing),虽然该种反锯齿技术效果最佳,但是对GPU资源消耗十分严重。后来在SSAA基础上衍生出了MSAA(MultiSampling Anti-Aliasing),它的特点就是进针对3D建模中边缘部分进行类似SSAA的反锯齿计算,这样在达到相近于SSAA效果前提下减少了GPU资源的消耗。
随后,当NVIDIA在2006年底发布G80图形核心时,一同与其来到的还有全新的反锯齿算法——CSAA(CoverageSampling Anti-Aliasing),它是在MSAA基础上由NVIDIA开发而来。CSAA与MSAA一样是针对3D建模边缘部分进行反锯齿计算,不同的是CSAA是通过驱动将边缘原像素强制放在750*750的坐标中,然后在多边形取样并做相应设置的覆盖采样(CoverageSampling),从而实现与SSAA在GPU资源消耗基本相同前提下效果更佳。
● GF100提供更高级别CSAA
GF100能够单卡实现32x CSAA
在G80引入CSAA后,NVIDIA单GPU最高可实现16CSAA,要想实现更高的反锯齿倍数,必须通过组建SLI模式,这主要是从单GPU性能角度出发。而在GF100核心中,单GPU可以实现32X CSAA效果。通过对比上图中的8X AA和32X CSAA,我们可以轻松看出反锯齿效果。
32X CSAA实际上是8X的颜色采样和24X的覆盖采样,在750*750的采样坐标中8个蓝色点为实际采样点,同时通过驱动分配机制每个实际采样点周围再计算出3个覆盖采样,从而实现8X AA + 24X CSAA的32X CSAA效果。
由于GT200仅能实现最高16X CSAA(8X AA + 8X CSAA),所以在效果上完全无法匹敌能够实现32X CSAA的GF100图形核心。
通过前文我们知道无论何种反锯齿技术,只要选择更高倍数的反锯齿模式都会带来更高的画质,但这就要付出更多的GPU资源。NVIDIA在GF100产品上通过架构优化,不仅反锯齿效能大幅领先GT200,同时由4X AA提升至8X AA时的GPU资源消耗也要低很多。
单卡最高级别的8X AA和32X CSAA都能获得非常好的画面效果,但32X CSAA的效果要更好于8X AA,理论上也要付出更多的GPU资源消耗。不过在实际中,8X AA与32X CSAA的GPU资源基本相当,也就是说GF100提供了更强劲的反锯齿技术。
● GF100实现33级别TMAA
TMAA(Transparency Adaptive Multisampling)是在MSAA基础上衍生而来,主要针对细长物体缺乏Alpha混色能力的难题,例如植物、栅栏和树叶等。TMAA通过控制纹理贴图的Alpha值,对细长3D模型进行Alpha混色,令画面细长物体渲染效果更加完善。
GF100在TMAA计算上也有了长足进步,对比上面两副图明显是GF100的TMAA效果优于GT 200 TMAA效果。这都得益于GF100能够实现更加透明的过度色质量处理,其总共分为33个透明级别,而GT200只能望尘莫及。
● Gather 4助力抖动采样
我们知道虚拟3D世界中物体是由数以万计的三角形组成,如果想要消除锯齿,我们可以像MSAA那样通过查找3D建模边缘进行反锯齿计算。而虚拟3D世界中的物体产生的阴影则是事实计算而来,也就是说无法普通的反锯齿模式无法对阴影进行反锯齿计算。
Jittered Sampling(抖动采样)就是针对阴影边缘和各种后期处理一项技术,通过对邻近纹理像素进行采样来计算并创建更柔或更模糊的阴影边缘效果,当然这部分计算非常消耗GPU资源。在DirectX 9 API和DirectX 10 API下,抖动采样会采样每一个纹理像素,而到了DirectX 10.1 API后改用Gather 4指令进行处理。当然在DirectX 11 API下,仍然由Gather 4指令来完成抖动采样计算。
效果不言而喻,更合乎真实3D世界的阴影效果处理,让我们真实感受GF100带来的震撼效能。
Fermi并非简单图形核心 而是计算核心
随着图形核心统一架构的诞生,图形核心不再仅为3D渲染而活,在高密度并行计算能力上图形核心得天独厚的架构优势让其走出了一条新出路。在图形核心非3D计算方面,NVIDIA一直走在了最前沿,例如他们的CUDA架构更是延伸旗下每款产品,同时很多第三方软件公司也纷纷伸出橄榄枝。
而且值得一提的是,GF100的计算引擎非常多样化,不仅仅局限在自家的CUDA上,例如微软的DirectCompute、Apple主导的OpenCL,还有PhysX、OptiX Ray Tracing等方面。
通过前面展示的GF100在计算领域的示例,我们对比一下GF100和GT200之间的性能差距,PhysX流体DEMO为3倍、《Dark Void》物理游戏为2.1倍、汽车光线追踪DEMO为3.5倍,最后在AI计算能力上为3.4倍。
● 零存整取 Fermi信息汇总
看完了前面枯燥的技术浅析,想必很多消费者对Fermi的憧憬愈加强烈。根据我们已知的消息来看,3月26日Fermi GF100的GeForce GTX 480和GeForce GTX 470将发布,届时本站会提供最全面的测试,同时有关Fermi的互动活动,例如拍卖、竞猜等也会纷纷与全国网友见面。
在文章最后,让我们对Fermi GF100进行一个简单总结。如果说,NVIDIA的G7X核心升级至G8X核心是具有革命性的改变,那么Fermi架构的GPU相对于G8X核心又有了第二次革命性的变革,从上图中我们能够了解的信息具体如下:
● 核心拥有30亿晶体管数量,超越GT200的14亿和RV870的21.5亿数量;
● 拥有512个Shasder处理器,在Fermi架构中成为CUDA Coer,同时数量大于2倍GT200;
● Fermi架构核心双精度峰值计算能力8倍于GT200核心;
● 显存支持ECC校验;
● CUDA for C升级至CUDA for C++。
仅从官方给出的技术、特性及规格已经让我们看到了基于Fermi架构GPU产品的强大实力,不过下面列出的技术特性让我们更为Fermi架构产品感叹。
● 支持微软最新的DirectX 11,以及DirectCompute等;
● Fermi架构的产品标配的显存不仅是第一块使用GDDR5的NVIDIA产品,还支持ECC校验;
● Fermi架构核心仍有台积电采用40nm工艺制造;
● 显存控制器为384bit;
● Fermi架构GPU采用全新的集群设计,32个CUDA Core为一组;
● Fermi架构是目前第一款片内拥有完整L1和L2缓存的GPU。