Re: [情報] Countdown to the Vega Architecture

作者: jk21234 (BL2400PT真不錯)   2017-03-12 23:13:31
※ 引述《KotoriCute (Lovelive!)》之銘言:
: 推 a951l753vin : 請JK大解釋 01/03 17:12
以我的理解,GCN是一種VLIW架構的變形(或者說,VLIW+SIMT的特化形式)
他具有VLIW本身的好處 而VLIW會有的缺點它只是稍微輕微一點
但還是會受到影響
甚麼情況?假如把戰場先拉回VLIW vs 其他競爭者
那其他競爭者最典型的就是Superscalar的設計
我們先做個比喻 假設有一個貨運站 他要不斷的送貨出去
而工具是車頭跟車斗 兩個各要一百萬元
所以 兩百萬元 可以單個時間內送完一趟貨
如果有一天 跟上面老闆申請說要增加一些經費 先多買一些
設備 以後賺錢會賺回來
那麼有幾種方式?
1. 全部升級成 一個車頭+5個車斗 這樣六百萬元只比原本貴三倍
可是號稱可以載5倍的數量喔
(VLIW思維)
2. 增加三倍的車頭+車斗的數量 六百萬元 帳面上數字為三倍
(Superscalar思維),也許還要其他看不見的成本使得實際成本超過三倍
看起來1.比較好吧 數字增加得很快又比較便宜
基本上VLIW的思維就是1.
可是.真的是這樣嗎 除了數字好看(vobor會比較愛)之外
對不起 送貨的需求如果單筆來 不一定是每次都有一樣多的
貨斗量的需求 不管他叫一車還是叫兩車三車 你都要把這五個車斗
開出去一趟 所以實際數據就取決於 你到底能不能讓出貨
量都能載到第四車第五車 不然你就是用三倍的成本但常常
載不到三倍.
有沒有甚麼好辦法?在真實世界 就是設計好後 期待軟體比較努力
讓你不會空掉 以這個例子比喻 就是要求客戶不要送急件 最好累積
東西滿了四倍五倍再來叫貨.真實世界中有這一點可行 就是用loop unroll
或者software pipeline累積平行度 一次排四份五份平行的工作到
不同的VLIW 執行單元上就不會空掉
但真實世界也會因為VLIW設計的其他捨棄掉的部分 造成
不能常常排這些平行的code
通常啦,有稍微一點涉及到VLIW的時候 就是硬體設計
的部門和做編譯器的部門開始內戰的時候...
軟體的人認為硬體只是想製造自己帳面上的業績
(硬體面積只成長幾十趴 帳面數字可以增加好幾倍)
硬體的人認為軟體的想早點下班 不肯努力排指令
(兩邊都認為對方只想省自己的10%工作量 害自己
增加50%的工作量 但是互相又不懂對方的工作所以無法繼續溝通下去 XD)
比較可能的情況就是VLIW之後會邊做邊修
或者發現問題很大就砍掉了.
到目前有提到VLIW的問題其實不見得對應到GCN的情況
不過GCN的前身的前身,VLIW5確實有這麼慘沒錯
還在用VLIW5的年代,ATI toochain有一個後門,可以
不只看虛擬的CAL IL,可以把DX or GL的Shading Language
以及OpenCL弄去看他真的進driver排成VLIW5的時候的樣子
當時是真的很慘,排成1~3幾乎三分天下,4/5都看不太到...
不過等我要用這個後門做計劃騙錢的時候後門就不見了.
那.......又回到原本問題
1. 全部升級成 一個車頭+5個車斗 這樣六百萬元只比原本貴三倍
可是號稱可以載5倍的數量喔
2. 增加三倍的車頭+車斗的數量 六百萬元 帳面上數字為三倍
也不是只有這兩個方向可以選
比如說可以
3. 增加新車 1/4的車有一個車斗 1/2的車有2個,1/4的車有5個車斗
等客戶叫貨就依照需求 派不同的車去
作者: DANTEINFERNO (DANTE)   2017-03-13 00:20:00
借問nv現在的pascal是那一種?750ti要價3萬吧(?

Links booklink

Contact Us: admin [ a t ] ucptt.com