POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: Eji
打印 上一主题 下一主题

R600的shader

[复制链接]
81#
发表于 2007-4-19 20:33 | 只看该作者
G80,纯正的GPGPU血统!

从R300到NV40,再到现在最新的G80,每一代旗舰GPU的晶体管都大大超过了同期的顶级CPU,也在挑战其同时代半导体工艺的极限。随着GPU性能的提升,近年来GPU用于通用计算(General Purpose GPU)及其相关方面的问题成为一个十分热门的话题。GPGPU指的是利用图形卡来进行一般意义上的计算,而不是单纯的绘制。以NV40为代表的可编程GPU发布后,GPGPU进入了一个高速发展的全新时代。相比固定的流水线,目前硬件的可编程顶点和片段单元不管是运算精度,支持的指令数还是寄存器个数都有了很大提高,更重要的是基于Shader Model 3.0版本顶点和片段着色器版本的硬件开始支持动态流控制的循环和分支还有子函数操作。比如,现在的片段着色程序最多允许同时访问16个独立的纹理,支持长度不受限制的指令数,寄存器个数也大大提高。而且提供了32位浮点精度的运算和存储格式,对于通用计算来说,这就很容易做出更为复杂的运算。尽管GPGPU前途一片光明,但挑战与机遇永远是并存的,目前GPGPU所面临的问题也非常的多。

首先是当前的图形硬件还存在很大的局限性。GPU毕竟是为了图形渲染而生,其通用性离真正的通用处理器还有很大一段距离。比如,在DX9硬件上,Vetxe Shader和Pixel Shader总共的指令数被制在1024(512+512)条指令,(片段着色器)Pixel Shader最多只能同时访问16个纹理,进行分支和循环操作的开销也比大。此外,片段着色程序虽然支持R16F的浮点类型数据格式,但缺乏其他类型的支持,限制了通用运算的多样性,而且R16F这种单精度的IEEE格式对于通常所用的工程计算而言精度还是低了点。由于每个shader程序最多带32个Temp寄存器,指令数也受到限制,所以在很多通用计算程序的编写中不得不采用multi-pass来完成一些复杂的运算,这样就降低了性能。由于整个GPU只能通过顶点纹理来读取数据,通过渲染到纹理来写入数据,对于显存没有任何间接写指令,输出地址只能由光栅化引擎决定,不能由程序改变,无法进行任意的读写操作,因此必须将计算的中间结果保存以避免多次读写,这又无形中降低了GPU的通用运算性能。另外在硬件上如果采用浮点运算,则不能利用硬件本身的颜色混合操作,也不能进行mipmap的自动运算,这些也妨碍了GPU在通用计算上的应用。不过,支持DirectX 10的G8X系统的的出现,将让这些问题迎刃而解。

NVIDIA方面,新一代G8X图形核心采用了先进的统一渲染架构,拥有多达128个流处理器,引入几何着色器功能……这一切简直就是专为GPGPU运算而生!为了最大程度的发挥几何着色器的威力,G80还专门设置了一个名为流输出层(Stream Output State)的部件来配合它使用。这个层的功能是将Vertex Shader和Pixel Shader处理完成的数据输出给用户,由用户进行处理后再反馈给流水线继续处理。它可以直接读写本地显存。我们可以通过Stream Out把GPU拆成两段,只利用前面的一段几何运算单元。对某些科学研究,也可以通过stream out来利用GPU的数学运算能力,等于在CPU之外又平白多得了一个数学协处理器。我们可以这样理解G80图形核心的几何着色器和Stream Out单元:GS提供了改变图形数量的能力,Stream out提供了硬件Multi-pass的支持。可以预见,今后围绕这些全新的功能,又会有一批新的GPU通用计算程序出台。

基于当前的G8X架构,NVIDIA现在已经有了一个针对GPGPU的解决方案,被称作Compute Unified Device Architecture,简称CUDA。CUDA是一个完整的解决方案,包含了API、C编译器等,能够利用G80的片内L1 Cache共享数据,使数据不必经过内存-显存的反复传输,shader之间甚至可以互相通信。对数据的存储也不再约束于以往GPGPU的纹理方式,存取更加灵活,可以充分利用stream out特性。以上几点都将大大提高GPGPU应用的效率。例如,在游戏中我们可以使用CUDA来让GPU承担整个物理计算,而玩家将会获得另他们感到惊奇的性能和视觉效果。另外,用于产品开发和巨量数据分析的商业软件也可以通过它来使用一台工作站或者服务器完成以前需要大规模的计算系统才能完成的工作。这一技术突破使得客户可以任何地方进行实时分析与决策。同时,一些以前需要很先进的计算技术来达到的强大计算能力的科学应用程序,也不再受限在计算密度上;使用CUDA的计算可以在现有的空间里为平台提供更强大的计算性能。
回复 支持 反对

使用道具 举报

82#
发表于 2007-4-22 15:48 | 只看该作者
原帖由 SM5 于 2007-4-19 20:33 发表
G80,纯正的GPGPU血统!

从R300到NV40,再到现在最新的G80,每一代旗舰GPU的晶体管都大大超过了同期的顶级CPU,也在挑战其同时代半导体工艺的极限。随着GPU性能的提升,近年来GPU用于通用计算(General Purp ...


什么才是纯正的GPGPU血统仍然是个谜:sweatingbullets:
回复 支持 反对

使用道具 举报

83#
发表于 2007-4-23 20:24 | 只看该作者
R600的shader到底怎么了?64X4能拼得过G80的128X1吗?
回复 支持 反对

使用道具 举报

84#
发表于 2007-4-23 20:38 | 只看该作者
应该是64×5,AMD自己说是320流处理器
回复 支持 反对

使用道具 举报

85#
发表于 2007-4-23 21:39 | 只看该作者
原帖由 XXR600 于 2007-4-23 20:38 发表
应该是64×5,AMD自己说是320流处理器

64x(4D+1D)?:shifty:
回复 支持 反对

使用道具 举报

86#
发表于 2007-4-23 22:10 | 只看该作者
原帖由 clawhammer 于 2007-4-23 21:39 发表

64x(4D+1D)?:shifty:


:sweatingbullets: :sweatingbullets: :sweatingbullets:
回复 支持 反对

使用道具 举报

87#
发表于 2007-4-27 18:49 | 只看该作者
原帖由 clawhammer 于 2007-4-23 21:39 发表

64x(4D+1D)?:shifty:


这个看起来有点暴力哦
回复 支持 反对

使用道具 举报

88#
发表于 2007-4-27 20:38 | 只看该作者
4d+1d的结构,能同时运行2个1d吗?如果不能,岂不是碰到1d指令时,那个4d就变成废物了?
回复 支持 反对

使用道具 举报

89#
发表于 2007-4-30 12:29 | 只看该作者
g80u可能真的有双指令发射哦w00t)
回复 支持 反对

使用道具 举报

90#
发表于 2007-5-3 21:48 | 只看该作者
原帖由 R620 于 2007-4-30 12:29 发表
g80u可能真的有双指令发射哦w00t)


8800 Ultra已发表,8800 Ultra没有dual-issue,看来要想实现dual-issue 唯有指望G90了
回复 支持 反对

使用道具 举报

91#
发表于 2007-5-8 19:38 | 只看该作者
已确定G90的性能将达到G80的2倍左右,G90补全了G80少掉的MUL,最后就是G90继续延用G80的结构,类似NV40和G70的关系,制程提高到65nm
回复 支持 反对

使用道具 举报

92#
发表于 2007-5-8 19:44 | 只看该作者
鉴于G80是
0.5个triangle/cycle,R600的TSE是16個tri/cycle,即为12G triangle/sec的peak value,所以说R600也不是一无事处
回复 支持 反对

使用道具 举报

93#
发表于 2007-5-8 19:57 | 只看该作者
现在由于Radeon HD 2900XTX显卡的性能已经无法与8800GTX乃至8800Ultra, ATI已经将Radeon HD 2900XTX降低级别为Radeon HD 2900XT 512 GDDR3。同时ATI也在准备新的旗舰产品。ATI现在已经成功将65nm制造工艺引入到主流核心RV630和入门级核心RV610上,并即将推出显卡成品。现在其主要任务是发布采用65nm制程的新高端显示核心,现在暂定名为R650,其架构仍然是基于R600核心,核心频率很有可能突破,同时还是会支持1024 MB GDDR4显存颗粒。但从现在的情况来看仅仅通过提升核心频率对性能的提升帮助不会太大,如果ATI要想真正打败NVIDIA还是要在核心架构和驱动上全面地进行改进。
回复 支持 反对

使用道具 举报

94#
发表于 2007-5-11 11:35 | 只看该作者
原帖由 clawhammer 于 2007-4-23 21:39 发表

64x(4D+1D)?:shifty:

320SP只能和128SP性能基本持平
回复 支持 反对

使用道具 举报

95#
发表于 2007-5-11 11:37 | 只看该作者
R600的优势根本不在setup。
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
96#
发表于 2007-5-11 11:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

97#
发表于 2007-5-13 19:31 | 只看该作者
原帖由 RacingPHT 于 2007-5-11 11:55 发表
G8x新版驱动的GS性能有改进没有?


好象没有改进哦,看样子只有等失落的星球DX10版出来后在观察了:lol:
回复 支持 反对

使用道具 举报

98#
发表于 2007-5-14 19:59 | 只看该作者
R600 2560×1600 16AA下性能提升300%,击败8800Ultra
http://we.pcinlife.com/thread-765093-1-1.html
回复 支持 反对

使用道具 举报

99#
发表于 2007-5-16 13:11 | 只看该作者
R600對一個SIMD array(16shader)進行4cycle為單位的branch,然後Array能對兩個batch進行branch,4個array可以在8個batch之間switch。
所以branch最小單位變成64pixels.... 確實和當初的預想一樣,branch性能比R580差。
(R520是16pixels為單位的branch,R580是48pixels)
回复 支持 反对

使用道具 举报

100#
发表于 2007-5-17 12:29 | 只看该作者
R600的shader成绩出来咯
http://we.pcinlife.com/thread-766236-1-1.html
回复 支持 反对

使用道具 举报

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

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-9-9 08:35

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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