PC_Shopping 板


LINE

(题目写太大了,事实上顶多只会提到为什麽Intel Larrabee 和SONY Cell不能当GPU用) 近年因为两个因素,mobile GPU的需求提高到越来越接近 桌上型执行游戏的GPU,高阶GPU展现GPGPU(CUDA,OpenCL等)的运算能力 GPU的"可程式化"特性又成为一个热门主题. 一方面,使用现成的GPU中的可程式化特性,希望能不依赖特定的硬体, 完成许多运算的工作. 另外一方面,GPU看起来越来越依赖"可程式化的部分"(=Programable Shader), 这对於不想要依赖传统GPU厂商的人,是不是一个良好的切入点,可以攻击到 传统GPU厂商的弱项,带来改朝换代的契机呢? 先讨论後面这个问题好了.是不是可以做一个超强的可程式化核心(啊, 那不就跟一个超强的CPU类似吗?),然後稍做调整,他就成为一个很有竞 争力的GPU? 答案当然是No......所以才会有这篇文章........ 最早是预定於2006发表的PS3内的Cell晶片,由Cell的超高浮点数运算能力 让他充当GPU的工作...但是,因为制程跟不上,Cell的运算能力直接缩水 变成原来的 1/4 因此这个也直接打消,重新再接上一个nVidia GPU. 不过就算Cell的计算能力没缩水 他当GPU还是会变成悲剧.... 悲剧不只是只有第一个,永远会有第二个.第三个....... 再来一样悲剧的就是组合数十个"修正过後,具有强大SIMD指令集的x86" 的Intel Larrabee,强大的可程式化性能,悲剧的GPU命运. 但不只这两个会构成悲剧,相信以後还会有前仆後继的同样悲剧出现, 只是影响力小到我们不会发现,可能是一些学术单位,小型的IC design house 这样搞.然後发现会失败了...... ==================宣传时间====================== 不要以为设计了CPU/DSP指令集 再来帮他扩充点浮点运算能力 他就可以充当GPU了 如果你的单位正在做这件事情 停下来 把钱省省 比较好. ================================================ 但是讲到这边还是没有讲为什麽.基本上,GPU的Programmagle Shader 分为两部分,Vertex Shader,处理物体模型的向量资料,Pixel Shader, 处理萤幕上每个pixel的计算.GPU可能设计成Unified Shader,那表示他 可以选择当Vertex Shader 或者Pixel Shader用而已,仍然不出这两种 执行方式. 那麽,最简单的GPU运作会不会是...... Input Vertex Pixel Output Data ===>Shader ====>Shader ====> Data 答案是否定的,GPU做的事情没有这麽少 基本一颗Programmable Shader的运作就是.... Input Data || Vertex Pixel Frame \/ (1) ===>Shader ==>(2)==>Shader ==>(3)==> Buffer 在Vertex Shader之前有一个工作(1) 在两者之间有一个工作(2),在Pixel Shader之後有一个工作(3) 在现在的可程式化GPU里面,这三个工作很多吗? 答案:这三个工作一样很吃重.和传统GPU一样 (1)通常有甚麽工作,举例而言,计算甚麽样的vertex超出画面范围外不用画. 知道三角面是背向对着你提早舍弃掉不画.还有....老GPU厂商AMD,nVidia,Sis 等还有"提早计算出Z值,把盖掉别人的三角面提前画"这样的工作. 已经退出PC市场 但是成为mobile上最强GPU的PowerVR架构 他的特性称为Tile-Based Defeffed Rendering,这种相对於其他GPU 厂商相当另类的做法 也可以归类在(1)的范畴 (2)呢? vertex资料,转成pixel资料.... 这个也是传统GPU一定会设计的硬体,但是Intel Larrabee把这都省去了 不过说转换不太正确 不如说计算一个三角面覆盖了萤幕上哪些Pixel 也就是....... A A ====> *** ***** B C B********C 这个vertex资料,等等就会被分解成19个pixel资料以及各自的座标/参数, 继续下去到pixel shader计算....这样的过程有很多种命名. OpenGL称为Rasterizer(不过容易跟3.的ROP混淆),或者也会称为 Projection.Triangle Setup Engine等等..... 有时候GPU硬体在(2)的阶段就会提前做一些(3)的判断.这样可以 省去多跑一个Pixel Shader的运算.这个能不能做要看运算特性. 比如说没有透明色的时候就可以提早计算有没有覆盖掉Pixel. (3)的话就是连Pixel Shader都算完了.这个部份通常称为ROP, 就是计算透明色的累加,FSAA,HDR,Z和stencil的数值的检查 等等.... ===============小总结时间================== 那到底1/2/3三个硬体,如果没做或者是做不好会怎样?? 用最简单的比喻,就是设计一台汽车,具有超大马力超大油耗的 引擎,但是没有设计良好的车胎,轮轴,齿轮箱.....这样的话只能 用超浪费的方式硬推.Sony Cell或者是Intel Larrabee这样的设计 并非完全不能当GPU,顶多只是搞成500mm^2的晶片弄不出人家200mm^2 的GPU的效果而已. =========================================== 结论就是GPU走到Programmable时代,那些Prograamable Shader 以外的硬体(且GPU软体看不到)重要性仍然超过一半 !! 麻烦在於这些东西如何设计的好,只有曾经设计过的人知道. 这也是近年在GPU市场上推出产品能存活的.几乎都是传统GPU时代 就活着的厂商(AMD,nVidia,PowerVR).不容易看到新厂商切入. 那...我们是不是挖角传统GPU厂商的离职员工,把这些基本的硬体设计好, 然後我设计一个很好的Programmable Shader,他跑GPU功能很快,跑一般运算 也很快......让我通吃GPU/GPGPU领域?? 听起来好像很好,可是目前来说是很难做的.这个答案为甚麽是No. 我在考虑要不要深入解释下去......基本上前一个问题能看完的 应该有相关领域的学生或者是企业的新人的程度了,以下可以继续 挑战...........我也不确定我在说甚麽的东西............ 我们考虑Mobile GPU领域的话,基本上类似几年前的desktop GPU. 处在Fixed Function(ie. DX7/DX8/OpenGL ES 1.x相应水准)和 Programmable Shader的交接期.PC Game大概从2001~2004花了四年 让市面上90%的游戏使用Programmable Shader. 在这个两者的交接时期,老牌GPU厂商推出的GPU虽然是基於 Programmable Shader,但是指令集的设计会对绘图的Fixed Function做特化. 尽可能用更少的Shader指令做出传统特效.比如说更多更有弹性的swizzle. (绘图资料想从哪个轴搬到另外一个轴都可以,一个化成3~4份也可以), 计算的operand 也可以直接指定成许多种常数(不是那种保留16bit, 做0~65535的常数运算),浮点数的 +-1 0, Pi ,e, 或者Operand直接根号,log等等. 这样的GPU指令集拿去做GPGPU,取代DSP运算会有两个问题. 第一个是编译器很难做最佳化.比不上手写的.这问题比较小, 因为编译器技术一定会慢慢跟上来 第二个问题是Instruction Encoding变大了.....传统CPU/DSP指令, 平均一个指令大概是2~4byte间.但是一个GPU指令,可能因此变成8~16byte 的instruction encoding. 这个巨大的code-size,对GPU程式通常问题没有很大,因为很多计算画面特效 的Shader不超过200个指令.只是画面上有几十种shader在跑而已..... 但是弄成DSP,跑个影像核心,或者GPU充当超级电脑,弄个粒子模拟之类的. 可能单一个Basic Block就超过1000个指令,整个核心超过50000道指令. 这样的话因为Code-size的关系,instruction cache的需求也变得非常大..... ================又要总结================== 第二段比较乱...不过我想个同样简单的比喻, 如果想要让GPU充当其他运算 就好像在一台宾士汽车上 安装多大马力的引擎他可以当成飞机使用一样. 如果只有200马力,不管如何都很难成为良好的飞机, 即使过去曾经有200马力就飞上天的飞机的例子 如果有20000马力,那麽宾士汽车是有机会飞上天的. ========================================== --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.54 jk21234:转录至看板 VideoCard 01/22 01:59
1F:推 condition0 :JK大先推再看 01/22 02:03
2F:推 monHHH :只能推了 01/22 02:05
3F:→ obov :颈拜 01/22 02:23
4F:→ jk21234 :目前台湾只有1.5个部门在搞GPU....XD 01/22 02:25
5F:推 halow :推JK神 01/22 02:36
6F:推 ericinttu :有推有保佑 01/22 02:37
7F:推 soem :推,但不一定要相关领域的学生才看得懂啦..XD 有接 01/22 02:43
8F:→ soem :触异质计算或GPU相关课程的人大概就可以了... 01/22 02:43
9F:推 thatsocool :推专业~ 01/22 02:54
10F:推 justlovenene:看不懂快推 01/22 03:08
11F:推 zseineo :看不懂推 01/22 03:10
12F:推 ruyur :先推了再看看不看得懂 01/22 03:14
13F:推 noahleft :推! 01/22 03:40
14F:→ noahleft :可以借转贴吗? 01/22 03:44
15F:推 kennot :呃 重量不讨论的话 单人飞机大概30hp就足够起飞了... 01/22 04:28
16F:推 AXby :快推 不然人家以为我们看不懂 01/22 05:36
17F:推 gaiaesque : 01/22 06:34
18F:推 EndlessYearn:推 01/22 08:18
19F:推 AustonJhu :神出没 快推! 01/22 08:49
20F:推 Holysml :莲花庙不是有大开职缺找Mobile GPU?从前到後段都找了 01/22 09:14
21F:推 Aquari :我看到CD的精髓了 ABC三角形中间的*被CD了(误 01/22 09:17
22F:推 segaboy :虽然看不太懂,但要推一下,囧 01/22 09:44
23F:推 a83a83cjcj :推~ 01/22 09:52
24F:推 ArSaBuLu :推jk大神 01/22 10:03
25F:推 Biantai :推 01/22 10:21
26F:推 batschris :推了! 01/22 10:35
27F:推 three456 :推 01/22 10:37
28F:推 redsquad :推! 01/22 10:46
29F:推 b6byc :推~~ 01/22 10:56
30F:推 good3211 :写软体GPU的人 其实也看不太懂+1 01/22 11:40
31F:→ jk21234 :M开头的不论国内的还是国外来的我都上了 XD 要去哪 01/22 11:40
32F:推 evo2001 :推,浅显易懂! 01/22 12:08
33F:推 dkchronos :看不懂只好推了 01/22 12:08
34F:推 Bencrie :DX8 已经有 shader 了吧,虚弱的第一代 XD 01/22 12:47
35F:推 ganbaday :跪求高手翻译成羊语 01/22 13:01
36F:推 CrazyMika :快推~虽然我看不懂 01/22 13:39
37F:推 lyt316 :快推,不然别人以为我看不懂 01/22 13:57
38F:推 giannie :推 01/22 13:59
39F:推 QingTing :快推,不然别人以为我看不懂 01/22 14:00
40F:推 tim0723 :===================别以为我看不懂!=============== 01/22 14:36
41F:推 jf6203 :推浅显但我看不懂 01/22 14:43
42F:推 dickson11 :浅显易懂但看不太懂给推 01/22 15:20
43F:推 oceanforward:只能跪了 01/22 15:49
44F:推 debian99 :cuda很强大呀 拿来做平行运算最适合了 01/22 16:40
45F:推 SRNOB : 喔是喔真的假的 01/22 16:51
46F:→ MrDisgrace :能算double了喔? 01/22 17:08
47F:→ Nappa :原来如此 XD 01/22 17:20
48F:推 Jay915 :推 01/22 18:19
49F:推 ant74214 :囧 完全听不懂 01/22 19:37
50F:推 wolfspring :越看不懂越是要推 01/22 22:19
51F:推 s25g5d4 :是jk神 先拜 01/22 23:03
52F:推 moonevil :推 01/23 12:45
53F:推 TrueX67 :虽然大部分是中文 但总感觉在看原文书.. T_T 01/23 17:39
54F:推 MrAB :太专业了 只好给推 01/23 23:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP