找回密码
 新注册用户
搜索
查看: 6002|回复: 14

更多 GT300 信息

[复制链接]
发表于 2009-10-1 15:22:01 | 显示全部楼层 |阅读模式
来自:http://news.mydrivers.com/1/145/145916.htm

一、迟来的怪兽

GT200的14亿个晶体管曾经让我们惊叹,Cypress的21.5亿个相比RV770的9.56亿个增加了一倍多,而Fermi达到了史无前例的30亿个,同样比自己的上一代翻了一番还多,比对手也多了40%。

从最高层面上说,Fermi很简单,无非是512个流处理器,384-bit GDDR5显存,而深层次的架构我们会在稍后逐一揭晓,不过Fermi至今还停留在纸面上,还不是一款真正的产品,所以型号划分、时钟频率、售价等等都还没有确定。事实上,直到两个月前NVIDIA才第一次让人看到了样品,最近不久刚刚获得可以正常工作的芯片,正式发布至少要到今年年底,而全面上市就是明年第一季度的事儿了。

Fermi为什么这么晚?NVIDIA产品营销副总裁Ujesh Desai说了一句:因为设计这么大的GPU实在是太TMD的难了。

二、来自RV770/GT200的教训

AMD用RV770核心给NVIDIA好好上了一课,庞大而沉重的GT200失去了反击之力,CUDA、PhysX这种对手所没有的功能特性于是成了宣传重点。

作为GeForce业务负责人,Ujesh Desai愿意承担责任,并承认在GT200时代严重失策。根据RV670 Radeon HD 3800的表现,NVIDIA推测其继任者的性能也不过尔尔,但RV770的表现大大出乎意料,而GT200定价过高,最终导致了一夜之间暴降千元的悲剧。

NVIDIAGPU工程副总裁Jonah Alben没有把责任都推到Ujesh身上,承认自己在工程上也有失误。GT300从一开始就应该采用新的55nm工艺,但NVIDIA在130nm NV30 GeForce FX被150nm Radeon 9700 Pro大败之后趋于保守,最后一次使用了65nm工艺,最终成就了一个面积庞大、功耗超高的巨无霸。

虽然40nm工艺进程依然稍微落后,NVIDIA不会在同一条河里摔倒两次,没有在Fermi上沿用55nm,否则又是一颗无法接受的大芯片。

不过NVIDIA暂时还没有透露Fermi的具体大小,只能估计一下。Fermi和Cypress都是40nm工艺,假设核心面积和晶体管数量呈等比例,那么在后者334平方毫米的基础上,Fermi将是466平方毫米,比576平方毫米的GT200小足足两成。

尽管AMD的Sweet Point策略让NVIDIA吃尽了苦头,不过NVIDIA依然认为最重要的并非首先开发价格较低的小芯片,而是提高大芯片的效率,然后衍生出不同的尺寸和配置规格。期待Fermi的主流版本能在明年尽快出炉。

三、不再只是游戏

NVIDIA相信Fermi在3D游戏里会比Radeon HD 5870更快,当然不快也不行,但是如果你只是把Fermi单纯地看作是一颗游戏GPU就错了,因为它的真正目标是Tesla,是高性能通用计算,是个人和[哔]超级计算机——这就是GT300里边那个字母T的含义,它要做一颗通用目的微处理器。AMD有3A一体化平台,Intel也在开发独立显卡,NVIDIA自然不能坐以待毙,正在朝着视觉计算迈进。

四、Fermi架构解析

1、SP、SM

从高层次上看,Fermi和GT200结构形似,并无太大不同,但往身处看会发现绝大部分都已经进化。

最核心的流处理器(Streaming Processor/SP)现在不但数量大增,还有了个新名字CUDA核心(CUDA Core),由此即可看出NVIDIA的转型之意,不过我们暂时还是继续沿用流处理器的说法。

所有流处理器现在都符合IEEE 754-2008浮点算法(Cypress也是如此)和完整的32位整数算法,而后者在过去只是模拟的,事实上仅能计算24-bit整数乘法;同时引入的还有积和熔加运算(Fused Multiply-Add/FMA),每循环操作数单精度512个、单精度256个。所有一切都符合业界标准,计算结果不会产生意外偏差。

双精度浮点(FP64)性能大大提升,峰值执行率可以达到单精度浮点(FP32)的1/2,而过去只有1/8,AMD现在也不过1/5,比如Radeon HD 5870分别为单精度2.72TFlops、双精度544GFlops。由于最终核心频率未定,所以暂时还不清楚Fermi的具体浮点运算能力(双精度预计可达624GFlops)。

G80/GT200都是8个流处理器构成一组SM(Streaming Multiprocessor),Fermi增加到了32个,最多16组,少于GT200的30组,但流处理器总量从240个增至512个,是G80的整整四倍。

除了流处理器,每组SM还有4个特殊功能单元(Special Function UnitSFU),用于执行抽象数学和插值计算,G80/GT200均为2个。同时MUL已被删掉,所以不会再有单/双指令执行计算率了。

至于SM之上的纹理处理器群(Texture Processor Cluster/TPC),NVIDIA暂时没有披露具体组成方式,而且ROP单元、纹理/像素填充率等其它图形指标也未公布。

2、缓存

GT200的每组SM都有16KB共享内存,由其中8个SP使用。注意它们不是缓存(cache),而是软件管理的内存(memory),可以写入、读取数据。为了满足应用程序和通用计算的需要,Fermi引入了真正的缓存,每组SM拥有64KB可配置内存(合计1MB),可分成16KB共享内存加48KB一级缓存,或者48KB共享内存加16KB一级缓存,可灵活满足不同类型程序的需要。

GT200的每组TPC还有一个一级纹理缓存,不过当GPU出于计算模式的时候就没什么用了,故而Fermi并未在这方面进行增强。

整个芯片拥有一个容量768KB的共享二级缓存,执行原子内存操作(AMO)的时候比GT200快5-20倍。

3、效率

CPU和GPU执行的都是被称作线程的指令流。高端CPU现在每次最多只能执行8个线程(Intel Core i7),而GPU的并行计算能力就强大多了:G80 12288个、GT200 30720个、Fermi 24576个。

为什么Fermi还不如GT200多?因为NVIDIA发现计算的瓶颈在于共享内存大小,而不是线程数,所以前者从16KB翻两番达到64KB,后者则减少了20%,不过依然是G80的两倍,而且每32个线程构成一组“Warp”。

在G80和GT200上,每个时钟周期只有一半Warp被送至SM,换言之SM需要两个循环才能完整执行32个线程;同时SM分配逻辑和执行硬件紧密联系在一起,向SFU发送线程的时候整个SM都必须等待这些线程执行完毕,严重影响整体效率。

Fermi解决了这个问题,在每个SM前端都有两个Warp调度器和两个独立分配单元,并且和SM其它部分完全独立,均可在一个时钟循环里选择发送一半Warp,而且这些线程可以来自不同的Warp。分配单元和执行硬件之间有一个完整的交叉开关(Crossbar),每个单元都可以像SM内的任何单元分配线程(不过存在一些限制)。

这种线程架构也不是没有缺点,就是要求Warp的每个线程都必须同时执行同样的指令,否则会有部分单元空闲。每组SM每个循环内可以执行的不同操作数:FP32 32个、FP64 16个、INT 32个、SFU 4个、LD/ST 16个。

4、并行内核(Parallel Kernel)

在GPU编程术语中,内核是运行在GPU硬件上的一个功能或小程序。G80/GT200整个芯片每次只能执行一个内核,容易造成SM单元闲置。这在图形运算中不是问题,通用计算上就不行了。

Fermi的全局分配逻辑则可以向整个系统发送多个并行内核,不然SP数量翻一番还多,更容易浪费。

应用程序在GPU和CUDA模式之间的切换时间也快得多了,NVIDIA宣称是GT200的10倍。外部连接亦有改进,Fermi现在支持和CPU之间的并行传输,而之前都是串行的。

5、ECC支持

AMD Cypress可以检测内存总线上的错误,却不能修正,而NVIDIA Fermi的寄存器文件、一级缓存、二级缓存、DRAM全部完整支持ECC错误校验,这同样是为Tesla准备的,之前我们也提到过。

很多客户此前就是因为Tesla没有ECC才拒绝采纳,因为他们的安装量非常庞大,必须有ECC。

6、统一64-bit内存寻址

以前的架构里多种不同载入指令,取决于内存类型:本地(每线程)、共享(每组线程)、全局(每内核)。这就和指针造成了麻烦,程序员不得不费劲清理。

Fermi统一了寻址空间,简化为一种指令,内存地址取决于存储位置:最低位是本地,然后是共享,剩下的是全局。这种统一寻址空间是支持C++的必需前提。

GT80/GT200的寻址空间都是32-bit的,最多搭配4GB GDDR3显存,而Fermi一举支持64-bit寻址,即使实际寻址只有40-bit,支持显存容量最多也可达惊人的1TB,目前实际配置最多6GB GDDR5——仍是Tesla。

7、新的指令集架构(ISA)

下边对开发人员来说是非常酷的:NVIDIA宣布了一个名为“Nexus”的插件,可以在Visual Studio里执行CUDA代码的硬件调试,相当于把GPU当成CPU看待,难度大大降低。

Fermi的指令集架构大大扩充,支持DX11和OpenCL义不容辞,C++前边也已经说过,现在又多了Visual Studio,当然还有C、Fortran、OpenGL 3.1/3.2。
回复

使用道具 举报

发表于 2009-10-1 15:32:49 | 显示全部楼层
凭“因为设计这么大的GPU实在是太TMD的难了”一句,就可知,此文是上方文Q所作
回复

使用道具 举报

 楼主| 发表于 2009-10-1 15:43:41 | 显示全部楼层
真 TMD 让你说对了
回复

使用道具 举报

头像被屏蔽
发表于 2009-10-1 15:51:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2009-10-1 19:36:26 | 显示全部楼层
继续在资本主义通用计算的大道上飞驰。

当游戏卡卖要亏本,不过应该会很适合 F@H 了。
回复

使用道具 举报

发表于 2009-10-1 19:42:03 | 显示全部楼层
支持 C++, Fortran 这个强。

不知道是怎样的支持法。如果小改然后重新编译下就 OK 了,那广大开发人员就要激动得尿裤子了。
回复

使用道具 举报

 楼主| 发表于 2009-10-1 23:04:06 | 显示全部楼层

回复 #4 mooncocoon 的帖子

现在还只是纸上谈兵,一切要等真品出来才知晓。NV 曾经可坏啦
回复

使用道具 举报

发表于 2009-10-2 01:05:19 | 显示全部楼层
等待真相……
回复

使用道具 举报

发表于 2009-10-2 07:08:31 | 显示全部楼层

回复 #6 mrks 的帖子

哪有那么好的事,估计是指在显存管理、指令调用上比较适合编译器编译吧。

特殊的语法还是要学的。
回复

使用道具 举报

发表于 2009-10-2 15:59:46 | 显示全部楼层
那个插件叫“NEXUS”?迎合StarCraft吗,研究人员玩神族的?
回复

使用道具 举报

 楼主| 发表于 2009-10-2 17:48:48 | 显示全部楼层

回复 #10 abemichael 的帖子

神族是 Pottoss (大概是这样吧,反正婆托斯是不会错了)。
回复

使用道具 举报

发表于 2009-10-2 18:09:09 | 显示全部楼层

回复 #11 refla 的帖子

Nexus貌似是神族主机,就那个金字塔。

另:是protoss
回复

使用道具 举报

发表于 2009-10-3 17:16:26 | 显示全部楼层
原帖由 cuihao 于 2009-10-2 18:09 发表
Nexus貌似是神族主机,就那个金字塔。

另:是protoss


NV准备以神族自居?将AMD视为虫族?让我想起了“迅猛龙”
回复

使用道具 举报

 楼主| 发表于 2009-10-11 17:59:16 | 显示全部楼层

回复 #13 tcogh327 的帖子

回复

使用道具 举报

发表于 2009-10-11 21:50:54 | 显示全部楼层
据说ATI显卡的流处理器和NV显卡的流处理器不是一个概念,好像是8:1的关系。就是说,ATI5870的流处理器1440个,相当于NV显卡的流处理器200个左右。不知是不是这样。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-6-8 00:11

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表