POPPUR爱换

标题: AMD 下一代 GPU 架构 Evergreen 讨论专贴 [打印本页]

作者: Edison    时间: 2009-4-17 09:32
标题: AMD 下一代 GPU 架构 Evergreen 讨论专贴
现在 AMD 的 RV790 已经上市,各类测试报告也已经在各网站发表,对其体系架构现在大家基本上是明了了,不过到目前为止,尚未有任何关于 AMD 下一代体系架构的消息出现。

为了方便大家讨论 RV790 的下一代架构 (RV8XX ?),特别建立此讨论串,本主题的讨论风格将如同之前 Larrabee 讨论主题,所有讨论将以技术分析展开,需要提醒大家的是,我们这里讨论的是 RV790 的真正下一代架构,而不是基于 RV790 的工艺改进版。由于没有任何相关的资料,因此本主题中的大量讨论都是猜测性质,请勿依此为准。

为了大家的讨论更加集中,我在这里为大家提供几个相关的话题。


1、 R700 体系架构中,你觉得最主要的特色是什么呢?最好能有一些专业的测试数据来辅证。
2、 R700 体系架构中,最主要的问题是什么呢?下一代架构是否会延续这个架构的基本框架做优化呢?
3、 下一代架构中你认为会在在那些方面作出改进? DX11?动态分支性能?双精度性能?AA性能/算法?Tessellation?等等。
4、 你想到与之相关的技术分析、预测。



这个讨论串会作长期保留,请大家在讨论的时候互相尊重,大致的要求如下:

1、请不要把其他网站的新闻照抄过来,如果你需要大家关注其内容,只需要把链接提供,照搬的内容我们会予以删除。
2、与上面或者其他网友提供的信息重复或者重叠的内容请不要再引用。
3、请注意网络礼节。



关于 NVIDIA 的下一代体系架构讨论,我们已有另外专门的讨论串。

参考:

AMD R700 指令集架构文档下载:
http://developer.amd.com/gpu_ass ... et_Architecture.pdf

AMD R600 指令集架构文档下载:
www.x.org/docs/AMD/r600isa.pdf
作者: 末世纪阿卡    时间: 2009-4-17 17:16
再以增加流处理器数量的方法来提高性能的方法并不可取~~

如何在效率上进行更合理优化的利用,应该是R800系列的一个重点,或许AMD下一代架构显卡会比较靠近NVIDIA现在的一些思路!

考虑到微软的态度,在DX11以及抗锯齿性能上,AMD显卡我依然看好!
作者: gz_easy    时间: 2009-4-17 18:05
增加晶体管/shader是必然的,也是最直接提升性能的方式之一;DX10->DX11称不上革命,所以预计AMD下一代GPU会延续上一代架构基础上改进。
作者: greatarchon    时间: 2009-4-18 14:46
RV8xx应该是R600架构的终结,增加SP是无可避免的,但是相信会对利用率进行优化,同时在40nm制程下更好的控制功耗,现在的rv770/790晶体管密度过大导致功耗猛增啊
作者: Asuka    时间: 2009-4-18 16:06
其实根本不用预测了,现在看来R8XX几乎就是一定的东西

我说几个关键词:

1. Tessellation;Tessellation这个将是DX11在游戏方面的代表技术,个人认为也将是未来游戏画面突破的保证。在从sm2.0到sm4.0,3D游戏把效果提升全部押宝到无限增长的shader需求上以后,Tessellation把突破口重新正本清源,回到多边形上来,这个是正道

2. Compute Shader;微软总是慢半拍,也总是恰到好处。GPGPU应用现在漫天飞,该是老大出来统一江湖的时候了

3. multi-theading;前面两个都是特性方面的改变,这个才是给整个架构输血的心脏。shader要做到“不仅是shader”,Graphics  Processing Units 要成为General-Purpose Units,本质上都必须依赖multi-theading架构的精进。R8XX必然在multi-theading方面做出改变或者说重大革新,个人认为R8XX除了每个thread的reg file必须符合DX11标准外,应该在active thread select等方面也做了改进,细节就不得而知了

4. SIMD、每平方毫米性能、每晶体管性能;毫无疑问,R800会在这条路上坚持走下去,已经看到曙光了。DX11会在一个方面提供强力的支持,那就是多GPU和多线程渲染的支持方面。如果能某种程度上共享frame buffer,那么G71首先提出的“性能+性能=旗舰”的模式就会越发被发扬光大

5. A-buffer之类的,目前看不到有什么端倪

另外想到的,以后再补充
作者: zhongxiameng    时间: 2009-4-20 12:42
增加流处理数量还是可以的,因为现在核心面积并不大
作者: ic.expert    时间: 2009-4-20 19:31
A-buffer是什么,Accumulate-buffer?这个不是HW实现的吧?需要你用GS编程才能实现。

TS只能子分到64,还需要更强大的TS,足以支撑Micro-polygon的。

Multi-threading并不是为了通用,主要是为了OS的3D界面和3D图标做准备,这个微软从03年的时候就已经开始干了。

我觉得从CS Arch角度来说,要理解AMD R600开始的GPU Arch,首先要理解Stanford的Imagine和StreamC.......
作者: Eji    时间: 2009-4-20 20:03
本帖最后由 Eji 于 2009-4-21 15:00 编辑

A-buffer指的應該是 alpha buffer,有透明度編排的話可以做到半透明物件的無序render。
個人覺得multi-threading rendering和shader內的latency hiding thread是兩回事。
Tessellation基本上是為了無縫LOD。

RV770/790的規模增長算是非常讓人激賞的,讓人大開眼界:可惜效率面並沒有數字上那般的重大革新。
所以會讓人覺得與其說是RV770讓人激賞,不如說是R600讓人徹底失望,就像當年NV40才實現對NV30的期望一般....

話說我比較好奇的是,從RV770到G8x,這兩邊都採用了Shader Processor Unit與Texture Unit綑包的設計哲學....
這讓我開始思考Larabee的"每16core的processor rings"是不是應該視為類似R6x0/Rx0與G8x系列的「一個SM」般的存在。
畢竟另外有個叫做XLing的第二層外層環來連接processor ring。

比方說,GT200是10個24sp的SM,RV770/790是10個有16unit的SIMD unit,雙方都有以這個單位為基礎放了10個Texture unit。
所以即使unit數量不同,基本上都是10個xxx,各自和10組texture unit捆綁在一起,然後crossbr與texture cache系統是在這些unit的外側。
作者: ic.expert    时间: 2009-4-20 21:40
DX11 Multi-threading 和 Shader Unit内部的多线程不是一回事。前者主要是针对Graphics Pipeline Context的中断和切换,为了实现多个COntext分享Graphics Card。后者是为了隐藏Latency。
作者: ic.expert    时间: 2009-4-20 22:08
这个Abuffer就是传说中的那个乱续访问的Rendertarget,好像叫什么UVA ?

其实,利用K-buffer我们早就可以做到对于带有Alpha的Fragment进行OOO(Out-of-order)的操作了。最大可以做到16层。就是目前PS内还不能Index Rendertarget,不然这个数量还可以乘以8,足够任何的场景了。不过如果真的OOO了,理论上还需要保存每个Fragment的Depth Value,以便Post-processing时候使用。
作者: Mia    时间: 2009-4-21 22:01
下一代 应该是 CPU集成GPU吧 喉喉  以后就没有显卡了  喉喉
作者: 300181bai    时间: 2009-4-21 22:08
下一代 应该是 CPU集成GPU吧 喉喉  以后就没有显卡了  喉喉
Mia 发表于 2009-4-21 22:01



恩 正解呀  呵呵
作者: Edison    时间: 2009-4-21 22:47
下一代 应该是 CPU集成GPU吧 喉喉  以后就没有显卡了  喉喉
Mia 发表于 2009-4-21 22:01


这里讨论的是 gpu,不是谁集成谁的问题。

毫无疑问,我们会看到 R8XX-like 的集成产品,不过这样产品应该是和现在同类产品的定位类似,只是针对入门低端的用户,不适合热衷型的游戏玩家。
作者: 万里乌云    时间: 2009-4-23 18:07
顶顶好贴。。。。。。。
作者: AF_X_IF    时间: 2009-4-24 07:47
8XX系列的改动多半不会比7XX比6XX更大,支持DX11,酌情增加SP是基本盘,其他的东西都是看着办的。
作者: back    时间: 2009-4-24 09:53
个人认为8xx系列相对7xx系列来说最大的着眼点应该是侧重于架构的效率提升和功耗的降低
基本的架构思路应该和7xx不会有太大的改变
但是性能效率的提升会是最主要的 比如动态分支性能、双精度性能、AA性能/算法效率等等
还有就是在功耗上 (其实是我个人的期望了)一定要降低 尽量的降低呀
作者: 原子汉    时间: 2009-4-25 11:31
4:1架构貌似利用率并不是很高(参见2900XT)
R800架构个人认为增加Shader和晶体管数几乎是必然的
但是通用计算不好说,很可能微软会推出自家的通用计算计算体系和OpenCL竞争
希望微软能推出新的DXVA规范和相关配套的编码器
要不调硬解真能把人整死(和VobSob不兼容,)
作者: Edison    时间: 2009-4-25 12:07
这是今天 ati-forum.de 放出来的消息,未经证实

http://news.ati-forum.de/index.p ... ationen-aufgetaucht


作者: potomac    时间: 2009-5-2 16:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2009-5-11 10:34
刚刚发布的 R6XX/R7XX 编程指南:

http://www.x.org/docs/AMD/R6xx_R7xx_3D.pdf
作者: Edison    时间: 2009-5-11 10:39
这篇文档的介绍还是比较清晰的:

1.4 Changes
1.4.1 R600 to R670 changes
 Add memory export (scatter) read/write.
 Added double-precision floating point support.
 Add MOVA (AR) instruction that can be used to index GPRs.
1.4.2 Changes from R670 to R7xx
 Improved methods for passing data between threads.
 MOVA updates.
 New shader instructions.
 Added support for fetch scheduling.
 Expand maximum texture or vertex fetch clause to 16 instructions (was 8 in R6xx)
 Removed fixed-function fog
 Added a bit to allow VS & GS to access each other‟s constants (replaces “use_waterfall” bit)
 ALU shifts (ashr, lshr, lshl) now work on all slots (xyzwt), not just scalar (t).
作者: selenite6kar    时间: 2009-5-11 12:55
其实LS很多东西我看得不是那么的懂
但是还是发下昨天从电脑报上看到的一则消息


“最近,AMD下一代DX11图形核心RV870的相关信息被曝光,RV870家族将有Raedon HD5850,HD5870,,HD5850*2,HD5870*2共计4款产品,两个单卡两个单卡双芯。RV870将配备多达1200个流处理器单元,同时纹理单元和光栅单元分别增加到48个和32个。HD5870核心/显存频率定在900MHz/1100MHz(等效4400MHz),比现在的HD4890的850MHz/975MHz有了大幅提高,而HD5870*2更是将达到950MHz/1150MHz(等效4600MHz)。RV870虽然只采用256bit的GDDR5显存,但显存带宽不容小视。比如HD5870能达到137GB/s,HD5870*2更是惊人的286GB/s。值得一提的是,单颗RV870核心的浮点计算能力将高达2.1TFlops。RV870预计在今年7月底或八月初发布。”

以上是电脑报上刊登的内容 不知道还有没意义了  发上来看看
作者: ic.expert    时间: 2009-5-11 20:40
这本文档对于D3D/OGL Programmer应该好好看看。
作者: chnhxy2008    时间: 2009-5-13 19:47
顶顶好贴。。。。。。。
作者: Lancelot365    时间: 2009-5-17 14:31
下一代应该是CPU集成GPU
作者: complex1980    时间: 2009-5-18 07:53
太深奥了,只能帮顶
作者: pdqull    时间: 2009-5-18 23:40
解决好驱动问题才是真谛
作者: 奶牛老仙    时间: 2009-5-20 12:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: wangkingd    时间: 2009-5-20 13:39
进来学习一下
作者: leialei    时间: 2009-5-24 02:39
学习下!!!!!!!!!!!!!!!!!
作者: chen629    时间: 2009-5-31 23:54
不太懂,谁便宜买谁
作者: Edison    时间: 2009-6-3 16:07
Computex 09 期间,AMD 和 TSMC 联合作了一次 DX11 硬件预览:
http://www.pcper.com/article.php?aid=724

其中有一个 die size 大约是 180 mm^2 的 40nm 制程 300mm wafer 展出:



不错的消息。
作者: gz_easy    时间: 2009-6-3 16:32
AMD花了大篇幅在Tessellation上,是否要说明其对这一特性支持度更好。
作者: Edison    时间: 2009-6-3 19:49
我想这其实只是唤起大家的记忆,让大家觉得 AMD 在技术上的领先性。

里面完全没提起 Tessellation 上 AMD 的具体优势。
作者: ic.expert    时间: 2009-6-3 20:54
不知道陈先生时说AMD的项目进度的领先还是在其他什么技术的领先,望陈先生指教 :〉我

其实AMD的路线还是以简化GPU为设计目标的,不过这几年AMD一直自以为豪的MulitGPU还是看不出来有什么特别强的优势。当然,在一定程度上多GPU核心的效率和应用有很大关系。


还有我不明白那篇文章怎么就体现出Tessellation的优势了?
作者: Edison    时间: 2009-6-3 22:43
AMD 的 trufoum 是最早在 gpu 上实现的 tessellation 技术,虽然很烂,可以说实际上没啥人使用。
作者: ic.expert    时间: 2009-6-3 23:12
本帖最后由 ic.expert 于 2009-6-3 23:43 编辑

你是说由Xbox360继承到R600时代的那个Tessellation?据说在Xbox360上面好像有人用?

这东西主要不是DX10的规范,所以大家都不会刻意去优化他。至于性能,我还没有什么了解。理论上在光栅化流水线中,Tessellator和Rasterizer是两个功能等价的东西,如果Tessellation能够达到Micro-polygon级别,就像Reyes那样,那Ras也就不需要了。不过着种东西很吃存储器,所以现在还只能采用混合搭配的方式,至于未来,如果能解决存储容量和带宽问题,那Ras有可能就是继T&L后下一个被砍掉的Fixed Function Unit。

当然,所谓的砍掉Ras仅仅是改变sample的方式,而在Geometry processing阶段,还是要把Polygon又VCS变换到SCS;而在Pixel Processing阶段还是要通过一个Filter来对Cover到的Polygon进行Interpolation。只不过Ras用来计算掩码那一套东西没有了。

如果借鉴一些offline技术,我们甚至可以实现一定程度上的视点无关的渲染。不过依照这种计算压力来看待现有的GPU,只能说目前的商业GPU是一种“粗糙的、落后的”科技,这种不断增长的图形特效会带代领图形的性能需求稳步增长20年而不会有任何问题。这不但会让我们领略更好的游戏效果,而且会使得图形处理成为未来的改善用户体验的重要手段之一 :〉
作者: Edison    时间: 2009-6-4 00:45
TruForm 是 RADEON 8500 或者说 R200 引入的,到 R300 后的时候不再硬件存在。
作者: ic.expert    时间: 2009-6-4 10:40
没接触过这么上古的技术了。以后又时间看看。

不过R300的原型是ATI通过收购一个小公司得到的,如果没有的话,也是正常的。
作者: ic.expert    时间: 2009-6-5 01:19
38# Edison


查了一下资料,R300中好像是对这个技术的扩展,而不是取消?



不过我还真不知道R300有能力利用HW处理Displacement Mapping……
作者: max3396    时间: 2009-6-5 14:25
以后应该是蜘蛛网架构
作者: potomac    时间: 2009-6-6 11:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2009-6-9 21:35
找到 amd 的 文档,里面提到:

the hardware tessellator unit takes an input primitive (which we refer to as a superprimitive), and amplifies it (up to 411 triangles, or 15X for Xbox 360 or ATI RadeonTM HD 2000-4000 GPU generations, or 64X for Direct3D 11 generation of graphics cards).

所以 r600 家族的 hardware tessellator 是不可能在 dx 11 中使用了,当然还有一些别的区别导致无法在 dx11 中使用。
作者: ic.expert    时间: 2009-6-9 23:07
恩,那是肯定的 :〉
作者: RacingPHT    时间: 2009-6-12 15:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-12 20:27
最近被朋友提到了一个问题,关于Early-Z的。下面这个是Paper的地址,http://people.csail.mit.edu/ericchan/papers/smapSV/  文章的Performance Issues这一段中有这么一段话。如下:

We mention in the paper that our algorithm requires the hardware to preserve early culling behavior when using a pixel shader to set depth values. Of the various NVIDIA hardware, only the GeForce 6 (NV40) architecture supports this feature. Previous NVIDIA architectures, such as the GeForce 3/4 (NV2x) and GeForce FX (NV3x) do not. On those earlier architectures, if you use a pixel shader to discard fragments (fragment kill) or modify depth values, early culling becomes disabled. Consequently, our hybrid algorithm is not efficient on those architectures because shadow volumes will be completely rasterized instead of being limited to the shadow silhouettes.

We have also discussed this issue with ATI, and they informed us that using a pixel shader to set depth values will preserve culling behavior for subsequent render passes on the Radeon 9700 (R300) or newer architectures. (Note that early culling will not apply to the current pass.) While this arrangement is suitable for our hybrid algorithm, unfortunately ATI hardware does not support the EXT_depth_bounds_test extension. Therefore, currently we cannot simulate a computation mask efficiently on ATI hardware.


水平有限,非常费解,上面写如果PS Modified Depth Value那么NV40以后的GPU是可以支持其情景下的Early Reject的。我没有NV40的文档,我见过的设计文档里,还没有这么NB的设计,不知道是我才疏学浅。
作者: RacingPHT    时间: 2009-6-14 16:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-14 18:16
Z-first Rendering是很早的技术了。但是作者的意思好像不完全是z-first rendering,发信问了作者,是说PS修改Z以后,仍旧也能在当前的Pass中Early Reject,但是Early Reject性能受到影响。这个就比较费解了。
作者: RacingPHT    时间: 2009-6-15 10:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-15 12:50
這裡我寫了一篇文章關於AMD Early-z的,很初級的東西。歡迎批評。
http://www.opengpu.org/bbs/viewt ... &extra=page%3D1

我的意思是說如果Shader Modified Depth Value,那麽Early Depth Test都將失效,應為你當前的Fragment在沒有咝蠵S之前,是不知道自己最終的Depth Value是多少的,所以當前Pass内,不可能再有什麽Early Depht Test。但是如果有人說,可以。那這一點就很費解了……
作者: RacingPHT    时间: 2009-6-15 13:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-15 14:55
楼上高人说的很精彩,我也说自己的看法。

我的意思是说,参与Alpha Test的Fragment是不能再HZB阶段就更新HZB,但是它可以Read HZB来判断自己是否被Reject。由于HZB是On-chip的,所以这种On-chip Depth Test不必再测试的过程中马上更新HZB,可以把Read HZB和Write HZB分别放在PS前后操作。而不会引起Memory Traffic的浪费。

但是off-chip的Z-buffer就不具备这个特性,由于Read的时候已经把Z Decompression到Z Cache里面了,如果此时不马上Update,那过了PS可能就会导致这个Tile被Replacement出去。所以HZB和Alpha Test并不是互斥的,但是从节约带宽的角度来说和Z-buffer是互斥的。


不过我不太懂楼上高人描述的“不过对于alpha-test的原因,你不一定说的很全面。因为可能在有些情况下, hi-z的阶段,会将整个tile标记为z-update,这样可以避免整个tile的z-read。而alpha-test必然跟这个机制有冲突,除非这个memory-port是以32bit的粒度来进行访存的。”
作者: RacingPHT    时间: 2009-6-15 18:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-15 20:12
奥,从节约Memory Traffic的角度,那我和楼上大牛是一个意思。
作者: ic.expert    时间: 2009-6-15 20:19
这样的话,我和楼上大牛是一个意思。

我是说Alpha Test不会和PS前Read HZB有冲突,但是却和PS前Write HZB有冲突,所以要把Write HZB/ZB移动到PS后。
作者: frankyoung    时间: 2009-6-15 22:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: RacingPHT    时间: 2009-6-16 09:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: zifuxyx    时间: 2009-6-16 12:33
据说RV870是原生双核 单核就是RV830 R800是RV870×2
作者: ic.expert    时间: 2009-6-16 19:18
本帖最后由 ic.expert 于 2009-6-16 19:22 编辑
嗯。EarlyZ是一定需要在PS前read Z的,但是如果需要在PS前write-Z的话,就没有办法兼容alpha-test,但是如果需要在PS前read-Z,但是在PS后write-Z的话,由于TLP的关系,可能要存放太多的read进来的Z值了。尤其是 ...
RacingPHT 发表于 2009-6-16 09:48



大牛发言非常精彩!我也甚为赞同。的确如果Alpha Test还硬要上不想浪费带宽的Early-z,那这个on-chip Z Buffer Size够喝一壶的。而且在高端卡上10000个还是比较保守的计算,对于未来更加多的Fragment级别的并行,这个Size还会更大。

所以从Arch角度来说,我们还是希望TBR能取代IMR。这样至少从节约Framebuffer Traffic角度来说,会好一些。不过目前TBR仅仅局限于嵌入式掌上或是游戏平台上。在PC上,由于DS这种技术的使用,目前的Application对TBR还是不够友好。

还有,我之前说的流处理的重要点可能没有表示清楚。这种技术主要解决的是Memory Wall的问题。一个是带宽,另一个是功耗。带宽这个我就不用多说了,以致很紧张。至于功耗,对于目前的集成电路技术,我们读一次Memory花费的功耗有可能比算10个乘法花费的功耗还要高……所以,靠TLP那种细粒度的方存,在功耗上的浪费实在有些令人痛心。就是为此,也为AMD和NV目前不可能采用MIMD的方式来组建Shader提供了众多理由中的一条。

当然,也许我的看法很浅薄,各路高人多多指正。
作者: RacingPHT    时间: 2009-6-16 19:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-16 20:47
大侠太过谦虚,我继续求教~

首先,关于大侠说的“设想我们实现某种效果,需要取得相邻的像素值”。问题是,这种图形算法会广泛应用么?这可就意味着Fragment之间有Dependency,从而意味着需要在Fragment之间作Synchronization?这个不是要尽量避免么?Fragment之间能Decoupling,不正是Rastrization乃至Raytracing的最大优势么?即便对于Jpeg这种压缩来说也不过是8*8个Pixel作为一个区域,这些区域之间是Decoupling的。

不可避免的TBR还是有很多限制,还需要改进,这种技术未来恐怕很难胜任越来越灵活的Graphics Pipeline。我想,未来的Graphics Pipeline是可以同时支持TBR和IMR的,这就看编程的人是怎么写了,Code决定了一切。

LRB是一个很好的尝试。也是一次大胆的尝试。这几天我又看了LRB的 Irregular Z-buffer,这东西一上,现有这些Fixed-Point Ras.都得报废了……只能把光栅化推倒可编程单元去做…。怪不得Intel死活不上一个Ras.按理说这东西绝对不占用Transistor Budget~~不过LRB依旧没有解决Memory Wall引发的功耗问题,这需要未来有更大改进。
作者: RacingPHT    时间: 2009-6-17 11:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: RacingPHT    时间: 2009-6-17 11:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-19 21:09
本帖最后由 ic.expert 于 2009-6-20 13:22 编辑

第一编没看懂,又看了两遍,看明白点了,大侠水平很高,发言很精彩。最近事情比较多,没来及看大牛留言。实在不好意思:〉

我说说自己对TBR的理解。我是搞Arch的,还是从Arch的角度说吧。
1。从Arch上看,我们要问使用TBR代替IMR的好处是什么?回答:有可能节约一些BW。
2。那么节约的哪里的BW?回答:首先,由于tile-size Framebuffer  on-chip,所以节约一些Framebuffer 的BW,其次,由于TBR通过Deferred Rendering进行Reject Invisible Fragment,从而节约了一些Texel Load的BW。

由此,我们可以看出,只有当屏幕上Primitive之间发生遮挡关系时候,TBR才会大显神通。对于Postprossing这种纯粹的Image-based Rendering应用来说,并不能体现TBR的优势。

而,对于Pass之间存在RAW(Read after Write) Dependency的这种应用来说,TBR也不可能在一个Pass就把事情干完,也会分很多个pass。实际上,这种分pass的行为可以理解为,每个Pass的开始或是结束都是Pixel之间同步操作所需要的一个Barrier。(我之前想说的那个“相关”,是在一个Pass内所有Fragment之间相关:〉)所以,对于楼上大牛的例子来说,TBR处理流程和IMR是一样操作的,IMR有几个Pass,TBR业同样有。对于BW来说,TBR上除了Vertex在Traingle Setup和Rasterization之间会暂存到Video Memory以外,也不会有其他任何额外的BW。这些Vetex数量很少和深度复杂度引起的Texel Load浪费来说还是稍很多的。

所以,我感觉TBR还是有一定优势的。尤其在深度复杂度很高的情况下。不过碰到Pass之间有RAW(Read after Write) Dependency这种相关性的话,那也是像IMR一样要乖乖的Multipass的。



最后关于“如果gpu被设计成resolve的时候必须idle”,我也不是很理解,是说Graphics Pipeline Context Switch实时性么?DX11对Graphics Pipeline Context Switch的实时要求是很严格的。

不过我可以肯定地,TBR上,Shader和ROP也是可以Pipe起来的,这相当于一种异步流水线。对于ROP来说,我们需要两个TIle-buffer,以便通过乒乓操作来隐藏延迟。
作者: ic.expert    时间: 2009-6-20 13:18
还有一点,比如 www.cs.utexas.edu/~johnsong/publications/irregular_z-buffer.pdf  这种机制。

只能用TBR处理才会更加高效:〉不然在IMR模式下,光是替换Rasterization所需要的Sampling Pattern就需要花上不少的代价。这也是LRB进行可编程光栅化的优势之一。
作者: RacingPHT    时间: 2009-6-20 16:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: RacingPHT    时间: 2009-6-20 16:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-20 17:17
本帖最后由 ic.expert 于 2009-6-20 17:44 编辑

回复楼上大牛的发言。

就我了解得情况,乒乓机制在TBR里面还是比较普遍的。比如PVR,在他们的GPU内部有3个Depth-buffer呢,并且因为Tile之间是没有耦和关系的,所以从Local Memory到Video Memory传输tile的时候,GPU也可以运行Shader。


还有,IZB难道不能减小Shadow map的复杂度么~~ 不然程序员要被累死了~~其实Computer Shader还是比较适合实现IZB的,不过性能要好好调,但是至少Shadow map的尺寸有保证了。

希望GPU还是能够更加Smart一些,而这种Smart是需要更加有效的(保扩更灵活和更快以及更小的功耗)体系结构来支撑的,毕竟就算是通用图形处理器,也不是通用处理器。
作者: RacingPHT    时间: 2009-6-20 20:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-20 21:38
果然是大牛,没办法糊弄。对,PVR的确是为了加速OIT而设了3个Zbuffer :〉而且和乒乓没有关系,比起Z3,PVR的这个放案更像是一种“基于硬件的深度剥离”……

其实我想说的是乒乓,就是一个TIle size的frameBuffer用来跑PS,另一个TIle size的frameBuffer用来和Video Memory交换数据,而交换数据的那个tile是已经完成全部PS的Tile。我现在的GPU Arch就是这样,用两个Tile的Local memory做乒乓,从而避免等待。

恩,反正为了实现一个Shadow map,IZB这种方案对GPU体系结构的影响还是很大的~~所以我才比较感兴趣。不过现在GI的趋势很明显,以后要有时间看看GI了,现在OGL和D3D这种20年前的流水线看得脑子都木了…。还有我想请教一下,大牛对于DX11 TS的看法。我没什么概念,只是感觉TS的细分还是不够高,如果能做到Reyes那种级别就好了……。
作者: RacingPHT    时间: 2009-6-20 23:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: ic.expert    时间: 2009-6-20 23:57
恩,有效地Tile SIZE会降低一倍,但是没有办法~~~ 层次化存储机制就是要用片上的Size来规约访存时间。

Reyes的确是在Vertex级别上来做Shading的。楼上大牛说的很精彩,4*4和现在D3D这种Quad级别的lod计算是一对够很完美的搭档~~ 估计DX11可能会成为一个比较经典的Graphics Pipeline……
作者: Edison    时间: 2009-7-2 22:56
在 AMD 的 Stream GUI 里(http://developer.amd.com/gpu_assets/Stream_Computing_User_Guide.pdf),关于 LDS 的使用有如下的描述。

Local Data Store (LDS)
The LDS is a write-private, read-public model: a thread can write only to its own memory space but can read from the memory space of any thread in the same group. This model is for the ATI Radeon HD4870. The constraints of the current LDS model are:

1. All read/writes are 128 bits and 4 dword aligned.
2. Writes are statically specified at compile time.
3. Reads are dynamically specified at runtime.
4. There is an inverse relation between group size and LDS size.
5. The largest group size is 1024 threads, with an LDS size of 4.
6. The largest LDS size per thread is 64 dwords, with a group size <= 64.
7. The absolute addressing mode forces all wavefronts to write to the memory allocated to the first 64 thread IDs. Thus, all threads with the same ID modulus 64 write to the same location.
8. Data can only be shared within threads in a group.
9. Memory accesses outside of the thread group result in undefined behavior.


The LDS also has a useful keyword call feature: _neighborExch on reads, which performs a 4x4 transpose within a four-thread neighborhood. This means all threads that have tID % 4 == 0 get x values from the 4 threads, tID%4==1 get y values, etc. Figure C.2 illustrates this.



Shared Registers

Shared registers are a method of sharing data at a lower level than the LDS. The LDS shares data at the group level, but shared registers share data at the wavefront level. The shared registers are unique to the index of a wavefront and share data between wavefronts; this enables vertical sharing between all the wavefronts that run on a SIMD. This feature allows sharing between groups; however, one constraint is that shared registers only guarantee atomicity during the same instruction.


这里提到的 group 似乎就是相当于 CUDA 里的 thread block 了。
作者: ic.expert    时间: 2009-7-2 23:42
对啊,怎么了?
作者: Christ2002    时间: 2009-7-3 15:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2009-7-12 11:19
集成电路的进步本身就是增加晶体管数量来提高性能,任何所谓的架构效率提升就是增加更多更多的晶体管。
作者: doryofunki    时间: 2009-7-15 22:31
ATI的显目如果不在功耗上改进点,光凭频率和显存回头会出现P4那样的悲剧
我是鸟,随便说说
作者: piepie628    时间: 2009-7-16 10:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: Lancelot365    时间: 2009-7-16 11:25
增加晶体管/shader是必然的,也是最直接提升性能的方式之一
作者: zifuxyx    时间: 2009-7-18 00:07
rv830 800 sp
rv870 1600sp
R800 3200sp
据说ati曾经设想
rv830 1000 sp
rv870 2000sp
R800 4000sp
但由于某公司的巨雷工艺 只得作罢
作者: llgg025    时间: 2009-7-19 16:24
显卡版的科技贴是最多的啦
作者: Edison    时间: 2009-7-21 16:15
我最近翻看了一下当初 06 年的 ppt,里面提到微软是计划 2008 年推动 DirectX 10.1 和 WDDM 2.1 ,目前来说,DirectX 10.1 硬件已经是遍地开花了,唯独 WDDM 2.1 还是只闻脚步声。

WDDM 2.1 是非常重要的驱动模型版本,因为它提供了抢占式多任务的能力,而相比之下,目前 NVIDIA 的 CUDA 还是只能同一时间跑一个 kernel,属于协作式多任务模式,在很大程度上约束了 GPU 的通用计算应用。

Windows 7 是要求最好用 WDDM 2.0 的,2.1 作为 2.0 的扩充,意味着基于 WDDM 2.0 的显卡很有机会实现对 WDDM 2.1 的支持,我估计 Evergreen 有机会实现这个特性。
作者: lik    时间: 2009-7-26 14:16
这不就是moore's law嘛. 同样面积18个月transistor数量翻倍.

集成电路的进步本身就是增加晶体管数量来提高性能,


不过效率的提升和拼蛮力两眼一摸黑加晶体管还是不一样的.

任何所谓的架构效率提升就是增加更多更多的晶体管。
Edison 发表于 2009-7-12 11:19

作者: lik    时间: 2009-7-26 14:21
因为40nm工艺而改变规格是不太合乎逻辑的. 40nm的工艺的问题直到去年下半年相关芯片tape out之后才得到暴露. R8xx的芯片规格至少在去年上半年就定死了, 否则不可能在今年上半年tape out. 做过大芯片设计的应该都知道做了这样的改动到final netlist再到tape out不是半年能搞定的.

rv830 800 sp
rv870 1600sp
R800 3200sp
据说ati曾经设想
rv830 1000 sp
rv870 2000sp
R800 4000sp
但由于某公司的巨雷工艺 只得作罢
zifuxyx 发表于 2009-7-18 00:07

作者: Edison    时间: 2009-8-3 20:34
PCGH 的最新专访,前 3dfx 大炮 vs 前 NVIDIA 大炮^^。

http://translate.google.com/translate?u=http://www.pcgameshardware.de/aid,691316/DirectX-11-AMD-und-Nvidia-enthuellen-Details-zu-Technik-und-Hardware-Vorschau-auf-PC-Games-Hardware-09/2009/PCGH-Heft/News/&sl=de&tl=en&hl=en&ie=UTF-8

这里前 NVIDIA 开发者关系经理的 Richard Huddy 提到了 Everygreen 的调度器复杂度两倍于 RADEON 4000 架构。
作者: samsung    时间: 2009-8-3 21:58
这里前 NVIDIA 开发者关系经理的 "Richard Huddy" 提到了 Everygreen 的调度器复杂度两倍于 RADEON 4000 架构

???
作者: Edison    时间: 2009-8-4 02:08
有什么想说?
作者: lik    时间: 2009-8-13 11:59
Richard Huddy是AMD/ATI的人. 挺活跃, 多关注一些gpu的新闻就会不时不时地看到这个名字了.

另外即使不知道他, 也要想想NV的人怎么知道evergreen的情况? 而且就算知道也不会公开地说啊.
作者: tilong-lee    时间: 2009-8-25 04:39
非常的期待之中
作者: Asuka    时间: 2009-8-26 15:13
我现在有一个疑问,关于后端的

RV870按照目前的消息来看,应该有1600个或者更多的SP,也就是说它的SIMD阵列起码增加了一倍,如果没有意外,texture部分增强一倍也是可以预见的

那么RV870的后端要经过怎样的加强,才能适应这个变化? 目前看来RV870依然使用的是256bit的内存界面,GDDR5的频率能在短时间内提升哪怕1/2吗?
作者: voodoo12345    时间: 2009-8-26 16:37
我现在有一个疑问,关于后端的

RV870按照目前的消息来看,应该有1600个或者更多的SP,也就是说它的SIMD阵列起码增加了一倍,如果没有意外,texture部分增强一倍也是可以预见的

那么RV870的后端要经过怎样的加强 ...
Asuka 发表于 2009-8-26 15:13

显存肯定不超过5G,带宽是个问题。
作者: Edison    时间: 2009-8-26 16:38
现在 GDDR5 的 bandwidth 可以做到 5Gb/s per bit,相当于160GB/s @ 256bit 了,不过这个版本似乎还没列出来,只是在下面的链接提到:p

http://www.samsung.com/global/bu ... GraphicsMemory.html
作者: panjanstoneborg    时间: 2009-8-26 19:34
谣言不是说153.6GBps了吗,那就是4.8Gbps的component咯
作者: Edison    时间: 2009-9-3 08:24


http://www.powercolor.com/Global/NewsInfo.asp?id=701
作者: gz_easy    时间: 2009-9-8 14:14
本帖最后由 gz_easy 于 2009-9-8 14:17 编辑
我最近翻看了一下当初 06 年的 ppt,里面提到微软是计划 2008 年推动 DirectX 10.1 和 WDDM 2.1 ,目前来说,DirectX 10.1 硬件已经是遍地开花了,唯独 WDDM 2.1 还是只闻脚步声。

WDDM 2.1 是非常重要的驱动模型 ...
Edison 发表于 2009-7-21 16:15

听到的消息是刚开始win7是要实现这个WDDM2.0的但后来取消了,WDDM2.0太复杂而且未必就是GPU的发展方向, 那么自然也就没有什么WDDM2.1。
道听途说,也许MS会继续开发WDDM后续版本。
作者: Edison    时间: 2009-9-9 00:41
是否取消不得而知,但是当初我也的确是看到一个 .doc 文档说 win7 是以实现 wddm 2.0 为目标,不过后来这个文档不知道弄到哪里去了。
作者: Edison    时间: 2009-9-10 11:13
http://alienbabeltech.com/main/?p=11135

HD 5870 offers over 1600 Stream processors

the number of SIMD units from 10 to 20

each SIMD unit contains 16 5-D units and a Quad-TMU overall, that means we count 1600 stream processors and 80 TMUs

core speed is at 850 MHz and whose 256-bit GDDR5 runs at 1200 MHz – all for the suggested retail of $399!  AMD is expecting HD 5870 to come close to the performance of a HD 4870-X2 or the GTX 295.

HD 5870 die size is slightly over 330 MM2 and packed with over 2 billion transistors

just over 150 GB/second bandwidth

the 8X + 8X PCIe CrossFire slots of the new p55 motherboards for Core i5 will become saturated with two of them

the HD 5870 will perform at just under 28 watts at idle and peak below 190 watts maximum

there is a new AA/AF algorithm, where everything on the render back end has been doubled. As a benefit for gamers, that means much less of a performance hit when going from no AA to 4xAA or perhaps even from 4xAA to 8xAA.

will launch on September 23 also.  We hear it is priced below $299.  HD 5850 will sport 1440 stream processors and it will have lower clockspeeds than its big brother. We are hearing somewhere around 700/1000 MHz and it can also display simultaneously on three LCDs at up to 2560×1600 resolution.
作者: Asuka    时间: 2009-9-10 14:44
back end has been doubled
作者: 為蝦米    时间: 2009-9-13 01:48
there is a new AA/AF algorithm, where everything on the render back end has been doubled

不是 RBD加倍,而是通过新算法实现rbd效能加倍(好神奇……
至少字面上是这样子
作者: Edison    时间: 2009-9-13 09:43
http://www.pcinlife.com/article/ ... 14766055d534_3.html

也就意味着 Everygreen 可以每个 ROP 能单周期完成一个 8x AAed pixel。


正式的文档表明,每个 ROP 的处理能力未变,xd。




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