POPPUR爱换

标题: 替RV770說點好話 [打印本页]

作者: Eji    时间: 2008-3-11 17:04
标题: 替RV770說點好話
雖說友站YY許久,提到RV770有個號稱理論上2.5倍浮點性能的提升。不過其實我們必須要說,當初R5x0、R6x0沿用到現在R7x0的Ultra Threading Dispatch Processor,是ATI這幾代價夠裡面最主要,也最不容易更改的部分。

它的核心觀念就是:把一整塊資料(thread、NVIDIA稱為warp),分配給一份(可變大小的)硬體資源。如果硬體資源因為各種狀況(材質讀取、條件分支等等)因素出現暫時停止的狀態,則記憶住硬體資源目前的執行狀態,然後分配另一份資料讓硬體來處理。

所以這可以有兩個特性:
1. 硬體資源(ALU、TMU、ROP)的擴充變得相對容易,但是記憶體在階層面的擴充則變得困難
2. Ultra Threading Dispatch Processor本身的擴充會大幅影響晶片本身規模,但是周邊的擴充則不會

這兩個特性使得ATI演出了當初R520到R580的大逆轉,這次R600->RV670->RV770的狀況也類似:目前傳出的數字是"160個texture sampler"、"800個SP"。
但是由於先前ATI使用的是5way VLIW、以及5D的texture unit,所以我們把數字還原一下,並且與R600/RV670做個比較-實際上RV770的規模應該是32個texture unit、160個shader,亦即材質資源放大了2倍、shader資源放大了2.5倍,和本來R600的tex/ALU資源比例為1:4相較之下,RV770的比例變成了1:5。

從1:1(R520)變成1:3(R580)再轉到1:4(R600/RV670),現在看起來,RV770做出的1:5這個數字還蠻有說服力的,至少一直維持他們對數學咚阗Y源的重視。

----
然後問題來了,我們知道由於分支資源的需求,記憶體延遲隱蔽的必需性,過度大幅擴充的sp無法得到充分的利用,而且分支的頻率從DX9引入之後只有越來越高(因為分支可以用來結合shader、減少material load overhead、減少drawcall,這都是減少記憶體頻寬壓力),所以導入的sp很難達到性能比例提升,這在當初R520->R580的時候已經得到了印證。

不過在純執行資源上,這些sp並非無用武之地。R580導入的shader資源有一個有效活用的方式:修補fp16 texture filter,這是因為R520只提供fp16 blending卻沒有提供texture filtering之故,所以R580在分支資源無法支撐的sp,其實仍然透過texture filtering的形式,做出了性能上的貢獻。

所以,其實我們也可以說,RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾"。我們記得R600的CFAA....就是透過shader來作AA sample reslove的,這使得CFAA會出現占用shader資源的問題,而讓AA性能低落。

在這個狀況下,選擇有兩個:
1. 修改AA unit
2. 增加shader資源
前者需要面對比較複雜的ASIC修改過程,較為困難;後者的話則較為合理。所以R600的兩大弱點,AA/AF性能的部分,以SP與TMU增設來作為應對之道,是目前我對RV770規格傳聞上的解釋。

這些增設都不會對電晶體造成很大的負擔(TMU增設的負擔較SP數量增加要來得大),如果抓好平衡度的話,會大幅改善整個架構的電晶體效率(電晶體增加25%左右,但預估性能可以提高50%),當初G94的性能幾乎與RV670類似,使得ATI在電晶體效率方面以接近30%(505M vs 666M)的狀況落後於NVIDIA,可望於RV770得到改善(800M vs 754M);而且RV770的CFAA有機會成為較為實用的功能,這點個人是樂觀其成。
作者: Eji    时间: 2008-3-11 17:07
補充:
我的確是覺得NVIDIA的64sp直接硬撼ATI的64shader....XD
所以我寫160shader和G92的128sp不相上下或稍微好些 _A_
作者: 天下18    时间: 2008-3-11 17:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: Eji    时间: 2008-3-11 17:19
原帖由 天下18 于 2008-3-11 17:15 发表
RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾,这个能成立的话,RV770还是可取的


現在的問題是,CFAA很可能"就是需要這麼多shader"才能實用化,那麼R600/RV670就真的和R520一樣了。
作者: 雷    时间: 2008-3-11 17:25
虽然看的有点晕乎,还是要顶
作者: 天下18    时间: 2008-3-11 17:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: Asuka    时间: 2008-3-11 17:28
CSAA,R6XX没有可能做到
作者: bfg9000    时间: 2008-3-11 17:30
800个SP:funk: :funk:
作者: 287381906    时间: 2008-3-11 17:34
“但是記憶體在階層面的擴充則變得困難”
什么叫阶层面??:huh:
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕:p

[ 本帖最后由 287381906 于 2008-3-11 17:35 编辑 ]
作者: Edison    时间: 2008-3-11 18:33
原帖由 287381906 于 2008-3-11 17:34 发表
“但是記憶體在階層面的擴充則變得困難”
什么叫阶层面??:huh:
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕:p

memory, firmware, bus .
作者: 1天    时间: 2008-3-11 18:33
原帖由 Elwin 于 2008-3-11 18:26 发表
A卡四年来头一次有望增强TMU:lol:

从比例上来看,应该是进一步削弱了TMU:sweatingbullets:
作者: Eji    时间: 2008-3-11 19:24
原帖由 287381906 于 2008-3-11 17:34 发表
“但是記憶體在階層面的擴充則變得困難”
什么叫阶层面??:huh:
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕:p


這邊講的是memory hierarchy,G80在這方面有在TPC裡面擺一組scratch pad memory(16KB share memory),還有constance register、temp register都已經有做到virtualize了,所以理論上G8x的資源是無限的;
R6x0這方面比較欠缺和不完整,由於R7x0目前看來和R4x0一樣是前一代的架構延伸版,要有更大的擴充要等到R8x0比較有機會。
作者: Eji    时间: 2008-3-11 19:29
原帖由 haifengx88 于 2008-3-11 18:14 发表
就是R520到R580的翻版...
幅度还小一些...


根據目前傳說的數據,TMU和ROP都加了100%(16TMU、16ROP to 32TMU、32ROP)、然後ALU加了150%(64 to 160 shaders)。
考慮TMU和ROP的transistors count應該比ALU還多得多,實際增加的幅度應該是相當大(和R520 to R580相比,ALU少加了50%、但是TMU和ROP都加了100%)。

但是在整個結構上占的幅度還沒有比較大,這可以知道從DX9到DX10,其實Ultra Threading Dispatch Processor的規模、以及其內部資源的成長比例都很大。(當然這可以從DX10/DX10.1本身的spec看得出來就是)
作者: 1empress    时间: 2008-3-11 19:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 1empress    时间: 2008-3-11 19:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: saintangel    时间: 2008-3-11 20:35
160个US啊……两代前的R520也才16管线……
作者: obi-wan    时间: 2008-3-11 21:00
原帖由 1empress 于 2008-3-11 19:39 发表
总算把TMU加上去了

不过执行单元加了一倍,才只做到和G94一样的面积

AMD在制程成本上的功力真是很可怕


N社这点的确吃亏,AMD有自己顶尖的晶圆厂,N社只能等TSMC它们更新制程
作者: Eji    时间: 2008-3-11 21:33
原帖由 1empress 于 2008-3-11 19:51 发表
这个未必吧,如果1:4不够的话,很难相信1:5的比例就可以做得好,但从R520一路看下来,这种ALU增加起来很容易,面积也很小.

这样持续增加Pixel Shader的ALU比例,在我看来是以最少成本尽可能获得更大效能的方式,而不是为了追求效率而增加晶体管.

说起来MS的DX10真是害人哪....NV连主流方案都做到240mm了,想当年横扫一切的NV40也只有260mm而已。我是很不看好G9X系列的寿命的


唔,我既然這篇寫要說好話,我就很不希望作出"批評"....不過要寫的話還是可以寫一些。

今天我們可以從G94看到,NVIDIA的結構效率是高得多的,而且電晶體的數量也比較少。
die size會比較大,單純是因為NVIDIA在製程面上相對地保守;ATI衝製程衝比較快,有很大的原因和結構效率、設計能力有關,並不能說是好事。

如果RV670的良率很好,為什麼初期會供貨不順?那這個良率數字能夠相信嗎?同理可以套用到RV770上。

此外,我們回到ALU追加的"性能",這並不是沒有成本的:從R520開始,它的分支粒度隨著ALU的追加不斷地放大,因為所有的設計都集中在Ultra Threading Dispatch Processor上,所以相對的更改也很困難。

比方說,RV770到底是4bank x 40個shader,還是5bank x 32個shader?還是8bank x 20個shader、甚至是10bank x 16個shader?毫無疑問地,更改幅度必然會受到bank數影響而越來越大,而以盡量不更改設計來考量的話,4x40顯然是最可能的;而且不管是哪種更改,分支變化其實都是一樣的(成長到160個pixel or vertex per branch)....

然後NVIDIA目前的分支粒度,還是維持在32個pixel or 16個vertex。因為register file是成對的,所以G8x/G9x的規模其實光看電晶體數量就已經讓人覺得要比ATI R5x0目前的延伸好上太多,因為它的規模每一份的效率都是一定的,ATI的強化卻總是會把架構上的缺陷越挖越大,你要維持分支粒度、提升性能的同時又不提升規模,唯一的方式就是從memory hierarchy來下工夫,天下沒有白吃的午餐啊。

來個以前思考問過的問題:我們什麼時候可以做到dynamic branch per pixel....XD

----
NVIDIA從G7x到G8x的更新,包含電晶體效率、結構改進,能夠如此是因為memory hierarachy的變更、引入倍速shader(並不是為了無限制提升時脈,而是改善電晶體效率)、ALU的free swizzle(隱藏底層的SIMD ALU),這些複雜的設計都在NV3x到G7x的這段時間一口氣達成,所以ATI也必須在R5x0~R7x0的這段時間應該要做出徹底的架構革新,否則R7x0只是試圖延伸一個傳統想法的壽命而已,如果這個延伸不是替一個革命的架構爭取時間的話,那麼就只是苟延殘喘而已了。

[ 本帖最后由 Eji 于 2008-3-11 21:41 编辑 ]
作者: shu0202    时间: 2008-3-11 21:49
照AMD自己的说法,每80sp执行同一类指令,要么全速运行,要么全部歇菜。看来AMD是要用大量增加执行单元来掩盖架构的缺陷,相对性的提升执行效率,也许能从60%提升到80%?
作者: shu0202    时间: 2008-3-11 22:00
原帖由 Eji 于 2008-3-11 21:33 发表


唔,我既然這篇寫要說好話,我就很不希望作出"批評"....不過要寫的話還是可以寫一些。

今天我們可以從G94看到,NVIDIA的結構效率是高得多的,而且電晶體的數量也比較少。
die size會比較大,單純是因為NVIDI ...


G80的革命性是有目共睹的,说实在的从G7X到G8X算是令人瞠目的推倒重来。NV的魄力和实力都让人叹服!
R700做不到这一点,只能算是挖潜。核心的东西不变,只靠外部的改善来维持。AMD这一块恐怕还来不及搞创新。
作者: yyloveyou    时间: 2008-3-12 00:07
ATI卡向来设计很好,理论性能很好很强大,但实际上除了9800P基本上没有什么好货,关键是驱动太烂,一流的技术,二流的销售,三流的驱动也就这样了
作者: G70    时间: 2008-3-12 00:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: 1empress    时间: 2008-3-12 01:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: 1empress    时间: 2008-3-12 01:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: chancejoe    时间: 2008-3-12 01:26
只能说ATI架构是先天不足,而对该低效率架构的不断强化只能使其固有的缺陷不断凸显……:wacko:
作者: Eji    时间: 2008-3-12 02:50
原帖由 1empress 于 2008-3-12 01:05 发表
G9X系列分支指令调度,隐藏延迟这部分功能效率很好,可以百分之百的喂饱SP,但我猜测相应的逻辑电路也非常复杂难做,即使新制程也不能缩小多少面积,所以NV制程上保守,之所以占用这么大面积不应是制程落后的原因,而是面积根本就减不下来,造成成本居高不下

相反ATI宁可用DX9时代的落后设计缝缝补补,也不愿意把5D更换为类似SP的设计,原因也在于此,毕竟市场定位类似的东西,拼的是售价.


well,其實Ultra Threading Dispatch Processor也非常複雜XD ....這是ATI只加SP的原因。
你只要把NVIDIA的架構當成每個TPC裡面有一個1/8大小的UTDP就好了。(而且一個巨大的UTDP,結構比8個小的分支processor複雜的可能性高得多)
現在ATI的確是沒有把5D換成1D-SP,因為現在ATI修改任何一個部份都會花非常多的時間,也會影響Driver結構,所以ATI都以增減固定設計的元件來調整產品策略;
但是實際上是把5D當1D-SP在用了..._A_

如果也把分支性能的犧牲列入考慮,NVIDIA也可以輕易地追加SP數量,這是CUDA結構裡面允許的:
G92規模追加到只剩與RV770類似的分支性能、也就是128~160pixel per branch的話,G92可以做到每個TPC有8~10個multi-processor(目前每個TPC內是2個multi-processor,也就是2個8D),
同樣可以取得4~5倍的浮點性能提升(而且是咦髟
作者: k10    时间: 2008-3-12 03:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: k10    时间: 2008-3-12 03:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: Eji    时间: 2008-3-12 05:03
原帖由 k10 于 2008-3-12 03:39 发表
所以说R7XX 砸资源是省时又省力的做法:loveliness:


這個測試可以看出Pixel Shader是最大的負載,但卻看不出來"怎樣的pixel shader"造成這麼大的負載....:loveliness:

[ 本帖最后由 Eji 于 2008-3-12 05:08 编辑 ]
作者: shu0202    时间: 2008-3-12 08:40
Eji的意思是RV770的扩展式架构不是什么好东西。一方面是用尽可能少的晶体管代价提高效能,一方面是规模扩大造成执行效率下降。Eji也倾向于标量架构是GPU的未来了吗?那为什么Intel没有选择标量的路子呢?我不认为AMD架构缺陷和矢量单元有必然关系。倒是暴露出传统架构在新一代指令执行上的力不从心。不过NV的标量架构现在看也好不了多少。
作者: 天下18    时间: 2008-3-12 08:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: Asuka    时间: 2008-3-12 09:37
原帖由 k10 于 2008-3-12 03:28 发表
单就CRYSIS来讲  瓶井不在SP 而在是shader

AMD GPU PerfStudio v1.2是一个基于单帧的分析工具,分析的是单帧的硬件静态数据。原理很简单,通过driver,hook住所有的api序列,然后分析的时候开始回放api序列,就可以 ...


这些分析获得的意义很小

crysis的shader是最大瓶颈,这个不是什么秘密,已经是妇孺皆知的东西

这个测试只抽象的告诉你shader是瓶颈,但是shader可以有无数种写法,crysis是卡在哪些shader上?

RV670的FLOPS超过8800U一大截,可以说它的理论shader性能也是超过8800U一大截,但是实际跑起来,2张RV670都不见得有8800U那么快。因此关键是“次世代游戏对哪些shader需求旺盛”,而不是只提高shader理论数值

前面已经指出了,RV770的改变,虽然总flops是提升的,但是会造成复杂shader(例如包含了分支/跳转语句的shader)执行效率的下降,
作者: 287381906    时间: 2008-3-12 09:47
原帖由 Eji 于 2008-3-11 19:24 发表


這邊講的是memory hierarchy,G80在這方面有在TPC裡面擺一組scratch pad memory(16KB share memory),還有constance register、temp register都已經有做到virtualize了,所以理論上G8x的資源是無限的;
R6x0這方 ...

感谢E大解释了!!其实还是不怎么明白XD
E大的意思……RV770因为缺乏存储器所以效率会低吗?至少可以达到R520->R580的性能提升吧?
作者: airforce14    时间: 2008-3-12 09:51
这文章是最近难得的好文章了  不过如果是4bank x 40個shader的话 那就只有对AMD太失望了  难道新增加的SP都来做AA了?
作者: Asuka    时间: 2008-3-12 10:03
原帖由 287381906 于 2008-3-12 09:47 发表

感谢E大解释了!!其实还是不怎么明白XD
E大的意思……RV770因为缺乏存储器所以效率会低吗?至少可以达到R520->R580的性能提升吧?


不是存储器,是存储器与GPU时钟差距带来的延迟

其实你可以自己算一下:

以Radeon 3870为例,它的核心部件,也就是ALU/reg file/UTDP 的工作时钟是770MHz,这样它内部每个时钟周期的长度在1.3ns左右.它搭配的显存的核心时钟只有250MHz左右(2.2GHz GDDR4),显存本身的工作周期再算上存储器的寻址延迟、路径延迟、MC带来的延迟,如果GPU对显存发出一条读取指令,那么数据至少要等几十个ns才可以送到GPU流水线,这样以GPU的时钟计算,就有几十上百个周期无事可做

因此在GPU内部引入cache,尽量减少对外部存储器的读取;还引入multi-threading,将一个大的shader分成若干个分支的形式执行,如果某个分支或者说子进程陷入到存储器读取延迟,那么就给该ALU切换其他任务,直到数据抓回来之前一直保证流水线充沛的工作。

multi-threading也是G80最强悍的地方,远远超过R6XX
作者: shu0202    时间: 2008-3-12 10:03
原帖由 airforce14 于 2008-3-12 09:51 发表
这文章是最近难得的好文章了  不过如果是4bank x 40個shader的话 那就只有对AMD太失望了  难道新增加的SP都来做AA了?


如果是4X40那AMD真的傻掉了。
作者: 天下18    时间: 2008-3-12 10:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: Eji    时间: 2008-3-12 10:46
原帖由 shu0202 于 2008-3-12 08:40 发表
Eji的意思是RV770的扩展式架构不是什么好东西。一方面是用尽可能少的晶体管代价提高效能,一方面是规模扩大造成执行效率下降。Eji也倾向于标量架构是GPU的未来了吗?那为什么Intel没有选择标量的路子呢?我不认为AMD架构缺陷和矢量单元有必然关系。倒是暴露出传统架构在新一代指令执行上的力不从心。不过NV的标量架构现在看也好不了多少。


well,我不覺得哪種ALU結構是所謂的"未來".... 我只是覺得夠強的記憶體延遲遮蔽、夠好的multi-threading、夠高的電晶體效率才是關鍵。比方說,NVIDIA的ALU底層其實還是SIMD,只是中間有架一層額外的高速移位單元來遮蔽這些特性。

G100/GT200應該會把share memory的容量做大幅的提升,如果傳聞的1800M可信,那麼16個TPC可以每個都放256KB的share memory....內部實質可用頻寬會大幅增加。
作者: lcd21    时间: 2008-3-12 11:46
好文章,一定要顶,认真学习。
作者: lcd21    时间: 2008-3-12 11:47
原帖由 Asuka 于 2008-3-12 10:03 发表


不是存储器,是存储器与GPU时钟差距带来的延迟

其实你可以自己算一下:

以Radeon 3870为例,它的核心部件,也就是ALU/reg file/UTDP 的工作时钟是770MHz,这样它内部每个时钟周期的长度在1.3ns左右.它搭配 ...


这个看起来通俗易懂的多,各位版主发言还是不一样啊。
作者: Travis    时间: 2008-3-12 12:05
标题: 回复 43# 的帖子
从16KB大幅提升到256KB是个好消息
越来越像更灵活的GPU了,有这个容量对GPGPU是个好消息
作者: xreal    时间: 2008-3-12 12:07
:devil: amd采取保守策略了,基本上不去争那个第一了。
作者: johngoo    时间: 2008-3-12 12:50
原帖由 1empress 于 2008-3-11 19:39 发表
总算把TMU加上去了

不过执行单元加了一倍,才只做到和G94一样的面积

AMD在制程成本上的功力真是很可怕


背后站了个蓝色巨人,功力深厚真那:lol:
作者: shu0202    时间: 2008-3-12 12:56
原帖由 Eji 于 2008-3-12 10:46 发表


well,我不覺得哪種ALU結構是所謂的"未來".... 我只是覺得夠強的記憶體延遲遮蔽、夠好的multi-threading、夠高的電晶體效率才是關鍵。比方說,NVIDIA的ALU底層其實還是SIMD,只是中間有架一層額外的高速移位單元 ...


矢量架构显现为标量架构是怎么回事?我不能理解。谁来解释一下?这样做的目的是什么?GT200不大可能做到18亿,这对整个产品线的成本控制都是灾难性的。除非NV为GT200单独设立品牌并以K$为单位销售他。
作者: shu0202    时间: 2008-3-12 13:02
原帖由 Asuka 于 2008-3-12 09:37 发表


这些分析获得的意义很小

crysis的shader是最大瓶颈,这个不是什么秘密,已经是妇孺皆知的东西

这个测试只抽象的告诉你shader是瓶颈,但是shader可以有无数种写法,crysis是卡在哪些shader上?

RV670的F ...


G80不是说什么样的shader对效能都没有影响么?
作者: xreal    时间: 2008-3-12 13:07
:sleeping: 鉴于amd疲软和美元贬值,gt200 999usd一块有可能:devil:
作者: 来不及思考    时间: 2008-3-12 13:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: k10    时间: 2008-3-12 13:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: shu0202    时间: 2008-3-12 14:17
谢谢思考的解释,受教了!
作者: w23j    时间: 2008-3-12 14:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: Eji    时间: 2008-3-12 15:12
原帖由 haifengx88 于 2008-3-12 13:54 发表
Gt200晶体管9亿多...


~1000M嗎....看起來像是現有的ALU規模,再加執行資源....果然NVIDIA比較重視procedure。

[ 本帖最后由 Eji 于 2008-3-12 15:27 编辑 ]
作者: Eji    时间: 2008-3-12 15:22
思考好久不見XD

原帖由 来不及思考 于 2008-3-12 13:24 发表
矢量架构显现为标量架构是怎么回事?我不能理解。谁来解释一下?
-->
G80的batch size是4×2×2=32pixel (per warp),执行的单位却是1/2 warp,所以每个SM很可能是4SP再加上duuble pump
另外,对于每个SM来说,4个thread在dynamic branch的时候走不同的方向,就要顺序执行,因此底层实际上应该是4D SIMD unit + duuble pump + SFU
具体的细节不是很清楚,但是可以肯定它的元件管理非常的独立,内部reg资源也非常丰富,通过一些特别的设计,swizzle是完全free的,所以可以把它看成full scalar
换句话说,G80只有16个4D SIMD unit,但是因为优良的设计,它直接可以当成full scalar来用


補充兩個部分:swizzle = 移位,所以如果你們看CUDA的performance guideline的話,有一系列的圖提到了share memory access的bank conflict、以及boardcast機制。
而且對繪圖工作來說,share memory是完全由compiler管理的,shader並不會碰觸到這塊,這就是NVIDIA的人員有空間作optimize的部分。
以性質來說,這和CELL SPE那個高頻寬的256KB/s Local Storage是同類型的。(對SPE的ALU有50GB/s的頻寬)

原帖由 来不及思考 于 2008-3-12 13:24 发表
这样做的目的是什么?
-->
完全硬件化的MIMD在旗舰级GPU这种芯片上是不现实的,G80是量产芯片,不是用来做实验的,除了成本,产能和工艺承受度也是必须考虑的问题

GT200不大可能做到18亿,这对整个产品线的成本控制都是灾难性的。除非NV为GT200单独设立品牌并以K$为单位销售他。
-->
我能告诉你的是,GT200的晶体管小于或者等于1000M

G80不是说什么样的shader对效能都没有影响么?
-->
通吃指令不意味着通吃shader,要写一个让G80跑不动的shader实在太简单了。记住:在batch size做到per pixel之前,这种话都属于行销手段
G80能保证的,就是它对各种复杂shader的适应性远好过R6XX,仅此而已,离“任何shader对效能都没有影响”还差几个世纪


以前RacingPHT兄寫的ray tracer program,就可以看出G8x可以提供的register資源還沒辦法支撐光跡追蹤的需求,share memory也不夠大。
當然這並不是個很好的例子.... 不過shader並不是加三倍ALU就一定會有三倍的性能跑出來。

[ 本帖最后由 Eji 于 2008-3-12 15:24 编辑 ]
作者: Edison    时间: 2008-3-12 20:51
原帖由 airforce14 于 2008-3-12 09:51 发表
这文章是最近难得的好文章了  不过如果是4bank x 40個shader的话 那就只有对AMD太失望了  难道新增加的SP都来做AA了?

RV770是 160 ALUs per shader array 。
作者: Bocelli    时间: 2008-3-12 21:06
好文章,虽然看得有点晕乎:sweatingbullets:
作者: fineday    时间: 2008-3-12 23:14
原帖由 Edison 于 2008-3-12 20:51 发表

RV770是 160 ALUs per shader array 。

:p 玩完咯~
作者: Edison    时间: 2008-3-12 23:30
原帖由 haifengx88 于 2008-3-12 23:17 发表
RV670是80么...

RV670/R600都是80 ALUs、RV63x是40 ALUs、2400是20 ALUs。:charles:
作者: Eji    时间: 2008-3-12 23:34
所以不是40個4D ,是32個5D....聽說這是最新說法.... _A_
我看ATI的PM大概也搞不清楚自家的產品到底長什麼樣子。

well,單元x2 + 時脈上升 = "最佳狀況下" 兩倍多一點的性能?
作者: shu0202    时间: 2008-3-12 23:48
奇怪,为什么说RV670是80ALU?RV770是160X5D才对吧?怎么又搞成32个5D?
作者: Edison    时间: 2008-3-13 00:07
原帖由 shu0202 于 2008-3-12 23:48 发表
奇怪,为什么说RV670是80ALU?RV770是160X5D才对吧?怎么又搞成32个5D?

R600//RV670是4 shader array, 16*5 way superscalar shader per shader array。
http://www.pcinlife.com/article/ ... 1180790746d363.html
作者: lcd21    时间: 2008-3-13 09:35
原帖由 Eji 于 2008-3-12 23:34 发表
所以不是40個4D ,是32個5D....聽說這是最新說法.... _A_
我看ATI的PM大概也搞不清楚自家的產品到底長什麼樣子。

well,單元x2 + 時脈上升 = "最佳狀況下" 兩倍多一點的性能?


能提升这么多吗?如果确实是这样,还是很有效的,不过看R580对R520的提升没有2倍啊。
作者: shu0202    时间: 2008-3-13 11:42
原帖由 Edison 于 2008-3-13 00:07 发表

R600//RV670是4 shader array, 16*5 way superscalar shader per shader array。
http://www.pcinlife.com/article/graphics/2007-06-02/1180790746d363.html


明白了。
作者: shu0202    时间: 2008-3-13 11:48
原帖由 haifengx88 于 2008-3-13 09:16 发表
简单的说就是RV670是分4组SP,每组16个5D...
RV770分5组SP,每组32个5D...
以此类推:
RV630/635分3组,每组8个5D...
RV610/620分2组,每组4个5D...


这样的话RV770的效率不会比RV670好。性能大概和G92持平。
有意思的在这:
http://news.mydrivers.com/1/101/101293.htm

RV770比G92多数千万晶体管,但是相同制程核心面积更小。


作者: Eji    时间: 2008-3-13 13:18
原帖由 haifengx88 于 2008-3-13 09:16 发表
简单的说就是RV670是分4组SP,每组16个5D...
RV770分5组SP,每组32个5D...
以此类推:
RV630/635分3组,每组8个5D...
RV610/620分2组,每组4个5D...


所以每個bank的 ALU數量應該要是16的倍數,比較合理....不過是5bank嗎?

原帖由 shu0202 于 2008-3-13 11:48 发表
这样的话RV770的效率不会比RV670好。性能大概和G92持平。
有意思的在这:
http://news.mydrivers.com/1/101/101293.htm

RV770比G92多数千万晶体管,但是相同制程核心面积更小。

well,"理論上" ring-bus 應該還是比較省空間啦....

[ 本帖最后由 Eji 于 2008-3-13 13:20 编辑 ]
作者: noble_long    时间: 2008-3-13 14:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: littlebird    时间: 2008-3-13 15:27
显卡能帮助渲染的话就太棒了,cpu做ray tracing慢的让人想跳楼:-(。
而且,以pc游戏市场现状,高端显卡有点不值。nvidia能发展娱乐之外的应用会对显卡销售提供新的支持。
作者: Eji    时间: 2008-3-13 16:03
原帖由 noble_long 于 2008-3-13 14:40 发表
DX10游戏相对于DX9而言,合适的分支粒度变化大不大?GS流行后对此有何影响?
如果变化大,NV会否调整TPC内SP数量或share memory的大小来抓这个sweet point,以及相应的时间点是一个有趣的问题。
加大share memory更多的是为了图形应用还是GPGPU?


我自己覺得加大share memory是對繪圖和GPGPU都有幫助....因為其實GPU適合的工作不論是繪圖或是GPGPU,類型都是類似的。
此外,R600其實也有一個steam-out cache,照理來說可以拿來做thread間的溝通。

DX10的分支粒度應該是更小,雖然VS/GS的粒度比較大;不過VS/GS的工作量目前沒有什麼成長的感覺....

原帖由 littlebird 于 2008-3-13 15:27 发表
显卡能帮助渲染的话就太棒了,cpu做ray tracing慢的让人想跳楼:-(。
而且,以pc游戏市场现状,高端显卡有点不值。nvidia能发展娱乐之外的应用会对显卡销售提供新的支持。


我是覺得ray tracing就算可以"變快",和rasterizer相比也不會快啦....
現在問題是娛樂之外的用途,需求也不大(作繪圖的人也沒那麼多),真的要推廣市場還是要像UI那樣遍地都有需求的用途比較有用處。

問題是性能需求多高呢?well,以電視目前Full-HD的解析度來說,可以推廣的空間應該還很大....

[ 本帖最后由 Eji 于 2008-3-13 16:07 编辑 ]
作者: 鲁爾    时间: 2008-3-13 16:49
顶完再看:lol:
作者: Edison    时间: 2008-3-13 21:52
GT200不是192 1D SP。
作者: Edison    时间: 2008-3-13 22:04
原帖由 empressgirlPCI 于 2008-3-13 21:58 发表
Edison
那么 GT200是多少个1D SP的?????

大家很快就会知道的 :rolleyes:
作者: cardex_sp    时间: 2008-3-13 22:26
原帖由 Eji 于 2008-3-12 15:12 发表


~1000M嗎....看起來像是現有的ALU規模,再加執行資源....果然NVIDIA比較重視procedure。

应该是破1000M的.
作者: 天下18    时间: 2008-3-13 22:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: G81    时间: 2008-3-13 22:44
原帖由 empressgirlPCI 于 2008-3-13 21:58 发表
Edison
那么 GT200是多少个1D SP的?????


384SP  500mm的规模
作者: aibo    时间: 2008-3-13 23:59
俺也来YY

G92对比G94,可以说就是64个sp的差别。

G92 330mm2 754M
G94 240mm2 505M

也就是说64个sp大概是250M个晶体管。

假设GT200其他都没有动,光增加sp了。那么以1000M的数量来算的话,最多也就192个sp了。
作者: Edison    时间: 2008-3-14 00:03
原帖由 aibo 于 2008-3-13 23:59 发表
俺也来YY
G92对比G94,可以说就是64个sp的差别。
G92 330mm2 754M
G94 240mm2 505M
也就是说64个sp大概是250M个晶体管。
假设GT200其他都没有动,光增加sp了。那么以1000M的数量来算的话,最多也就192个 ...

G94增加了输出方面的单元整合,所以SP缩减的部分晶体管要比这个数字略大。
作者: sonicxz    时间: 2008-3-14 00:45
:a) 什么时候GPU集成16M以上缓存,性能就好很多了
参考各类游戏机GPU
就连PS2那 200多M的GPU,带宽都是巨大的
作者: PS5    时间: 2008-3-14 11:50
原帖由 sonicxz 于 2008-3-14 00:45 发表
:a) 什么时候GPU集成16M以上缓存,性能就好很多了
参考各类游戏机GPU
就连PS2那 200多M的GPU,带宽都是巨大的


大缓存意味着高成本!
作者: shu0202    时间: 2008-3-14 12:57
GT200应该仍是128个流处理器,但是不知道还是不是1D,也许只是管线内部作了加强,更复杂了而已。
作者: PS5    时间: 2008-3-14 15:55
原帖由 shu0202 于 2008-3-14 12:57 发表
GT200应该仍是128个流处理器,但是不知道还是不是1D,也许只是管线内部作了加强,更复杂了而已。


GT200还是128个流处理器?:charles:
作者: G81    时间: 2008-3-14 23:58
原帖由 stcshy 于 2008-3-14 18:52 发表
如果9亿多晶体管的话
如果GT200有改进,那么只塞的下128SP
无大改进可以塞下160SP
最大的可能还是128SP


如果GT200还是128SP,NV怎么做产品宣传?:o
作者: Eji    时间: 2008-3-15 01:38
> 我希望Nvidia GT200是256SP,128TF/TA,32ROP、512Bit-GMC、1G或2G-3GHz-GDDRV、第二代GigaThread、功耗低于300W!!!!!!!

低於300w好像達得到?目前聽說是250w....?
是不是第二代GigaThread就難說....

多少SP真的難說,不過至少應該是G8x的改良吧.... 根據以前UIUC那份CUDA for GPGPU的說法,這一代應該有1TFLOPS的單精度浮點、128GFLOPS的倍精度浮點。
文件上的原始數據是128GPUs @ 08spring、130TFLOPS sp、16TFLOPS DP;所以單GPU應該是1Tera+ FLOPS SP、128GFLOP DP。
[attach]843138[/attach]
但是怎麼算1TFLOPS真的不清楚,因為這份PDF裡面是把G80算成367GFLOPS,沒有計入所謂的missing-MUL。
所以最接近的應該是256個MAD SP跑2GHz;然後每兩個SFU合併起來跑一個DP MAD的話,256sp "可能"有32個DP-MAD,這樣在2GHz下會有128GFLOPS DP的數字;192SP的話,時脈就有必要拉到3GHz了。

不過也許這個數字本身就是幌子....XDa

[ 本帖最后由 Eji 于 2008-3-15 01:44 编辑 ]
作者: shu0202    时间: 2008-3-15 09:20
GT200应该是联合处理器的代号,也就是说顶级规格是双核心。不知道能否实现显存共享。
今年显卡发展的一大趋势是显存容量的扩充,到年底2G将成为顶级显卡的标配,性能级普遍实现1G,主流市场至少512M。
这是由于宽屏高分辨率迅速普及带来的效果。年初22寸面板的出货价格已经比19寸还低。
另一方面以id新一代引擎为代表的游戏将使用容量1G以上的纹理材质,未来两年游戏对显存容量的需求将超过带宽。(不过个人认为现在带宽已经严重制约了高端GPU的性能表现)
作者: 阿蓝2代    时间: 2008-3-15 10:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: Eji    时间: 2008-3-15 13:14
原帖由 shu0202 于 2008-3-15 09:20 发表
GT200应该是联合处理器的代号,也就是说顶级规格是双核心。不知道能否实现显存共享。


所以這邊的含意是GT200 = G100 dual-chip MCM?:funk:

很有意思的猜測啦XD
不過這其實就變成「暗指G100其實一開始不是針對多晶片設計的」....(才會改代號)

[ 本帖最后由 Eji 于 2008-3-15 13:16 编辑 ]
作者: Asuka    时间: 2008-3-15 13:41
越扯越玄乎了...

再强调一次,GT200 是单芯片,单核心

那些所谓的dual chip的猜测都是没有逻辑而且不负责任的
作者: Edison    时间: 2008-3-15 15:24
和g8x、g9x类似,gt200也是单die芯片的多核产品。
作者: Asuka    时间: 2008-3-15 15:29
原帖由 Edison 于 2008-3-15 15:24 发表
和g8x、g9x类似,gt200也是单die芯片的多核产品。


老大,这个解释会引起误会的 :shifty:

G80也是8核心,你不说鬼知道啊 :shifty:
作者: airforce14    时间: 2008-3-15 17:03
512MC这点确认吗   G100和GT200有什么不同啊
作者: Edison    时间: 2008-3-15 17:12
原帖由 Asuka 于 2008-3-15 15:29 发表
老大,这个解释会引起误会的 :shifty:
G80也是8核心,你不说鬼知道啊 :shifty:

G80是16核。
作者: Asuka    时间: 2008-3-15 17:50
原帖由 Edison 于 2008-3-15 17:12 发表

G80是16核。


8个“真双核”   :sweatingbullets:  :shifty:
作者: 远大    时间: 2008-3-15 18:06
原帖由 Edison 于 2008-3-15 17:12 发表

G80是16核。



"GeForce 8800 GTX的统一着色器架构由8组着色器矩阵组成,每个着色器矩阵内包含16个标量流处理器。"

---------那么应该说是8核,或者说是:8*16=128核,

那个16核指的是什么?


作者: Asuka    时间: 2008-3-15 18:30
原帖由 远大 于 2008-3-15 18:06 发表



"GeForce 8800 GTX的统一着色器架构由8组着色器矩阵组成,每个着色器矩阵内包含16个标量流处理器。"

---------那么应该说是8核,或者说是:8*16=128核,

那个16核指的是什么?


16×SM
作者: RacingPHT    时间: 2008-3-15 23:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: Eji    时间: 2008-3-16 02:26
原帖由 RacingPHT 于 2008-3-15 23:42 发表
以我的经验来看这个profile结论没有什么意义。(因为实在太菜了, 当然这不怪AMD, 就算NV也对技术细节忌讳得很。)


真的好用的debug工具還是只有MS PIX....:loveliness:
作者: RacingPHT    时间: 2008-3-16 12:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: RacingPHT    时间: 2008-3-16 13:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2008-3-16 14:40
nv perf kit有pix的plug in:

http://www.pcinlife.com/article/ ... 6912052d481_17.html

但是目前有一些程序不支持,例如Crysis。
作者: gz_easy    时间: 2008-3-16 14:59
现在对核的概念是否有明确界定,否则模糊地讲16/128都对。
作者: RacingPHT    时间: 2008-3-16 15:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2008-3-16 15:21
Pix设置为per frame模式就可以记录下每frame的状态,不过要online修改的话就一定是用nv perf hud了。
作者: Eji    时间: 2008-3-16 18:24
原帖由 RacingPHT 于 2008-3-16 13:04 发表
另外我其实不觉得branch会是那么重要的因素, 以现在两家的表现我觉得branch都已经算是可以。

我觉得并行化提高以后其实有很多问题会变得更加突出, 在一个很复杂的scene里面, 整个pipeline会因为一些莫名其妙的因素变得效率很低,可能是因为small batch, small polygon, context switch之类的因素, 最后就表现为shaderbound, 但其实是整个pipeline没有办法有效利用shader的原因。


這其實還蠻有意思的:
我不太清楚遊戲到底會需要能夠做到多small的branch,還有small polygon;content switch的延遲吸收也不知道大略要到怎樣的程度才能算好。
以結果來說,或許其實雙方的差異還是在TWIMTBP上?




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4