Re: [情報] RX480 技術情報 PPT

看板PC_Shopping作者 (BL2400PT真不錯)時間9年前 (2016/07/02 00:32), 9年前編輯推噓47(47057)
留言104則, 45人參與, 最新討論串2/2 (看更多)
※ 引述《b155073 ()》之銘言: : 原文網址:http://videocardz.com/61557/rajas-super-secret-cigar-stash 一章一章來 : http://goo.gl/i8LpCz 從1 Graphics Command Processor到 576 Load/Store Units 都是指微架購上的改進 而之外的則是較一般的規格等 : http://goo.gl/PwA5r9 Geometry Engine : 三角面處理完之後 轉換給Pixel Shader中間的這個工作, 傳統稱為Geometry Setup或者是Rasterization(但是這個會跟ROP的"R" 容易混淆) Primtive Discard Accelerator 在把東西丟給Pixel Shader之前,如果知道這個三角面已經被遮住了 就可以先丟掉不算.反正算完也沒用..如果更確定可以連前端的Shader 都省掉 相關的技術比如Early-Z,Z-Culling,或者進階的Tile-Based Defferred Rendering等等 然後他提到跟MSAA有關 也就是說也影響你開一般遊戲下的FSAA的設定 因為一般遊戲的FSAA僅做到MSAA,跟MSAA有關則是因為MSAA只做三角面的邊緣 跟交界,要做MSAA的像素一定會發生有的實際上有被遮住有的沒有. Index Cache 改變資料在Cache排的方式節省頻寬 或者把原本零散的存取 變動為連續的 : http://goo.gl/KX59Iv Shader的性能變強 但是(? Instruction Prefetch 注意 不要跟Prefetch Instruction搞混 兩個完全不一樣 這個是說 原本處理器不分CPU/GPU,如果沒有分支就是 執行下一個指令 那下一個指令確定會被執行就應該先取進來 這樣切換的時候就保證不用等 不過除非原本就設定成保證要等 不然一定會在GPGPU/遊戲特效上 產生正面效果的幅度就不會太大... per wave instruction buffer size 每個"wavefront"的指令緩衝區變大 wavefront是AMD GPU內的抽象化單位 他是指一起執行的最小的集合體 一個wavefront會統整N個SP,相應的Thread,相對的暫存器數量等等 (CUDA/nVidia GPU的Warp,OpenCL的Compute Unit則是同級的名詞) 然後wavefront內部 每個cycle所執行的指令都是一樣的, 既然這樣 那儲存指令緩衝區就只要每個wavefront一個就夠了 Tuned L2 Cache 可以把存取合併 然後效率變好吧 FP16/INT 16 Support 由於開始有用GPU計算Machine Learning的, 比如說Deep Neuro Network,發現用不到float32 這麼高的精確量. 如果FP16/INT16比32bit可以更快更省 那都可以產生一樣的效果 不過google更極端 直接做純INT16的晶片, 2T INT16/s的晶片只耗0.5W,以後有介紹到google VISION CHIP再說 .........然後講到這邊 還沒DX10的時候,顯示卡超過80%的運算能力 都是在算整數而且這個整數只有8-10bit... 都已經轉過來Unified的環境卻發現你丟掉的東西才是你要的........ : http://goo.gl/bGFT0m GPU Open Intrinsic Function Direct ACCESS to inline ISA 兩個都是同一件事情, 因為設計特殊處理器的時候,不只GPU,你可以看到DSP,Cell 等等.他會有一些很難放進高階語言描述內的指令 這時候除了整個用組合語言硬幹之外 就是使用intrinsic或者是inline Assembly的方式處理 兩個雖然叫不同名字但是是等價的,一般而言intrinsic 長的像是高階語言的function,但是一個對應一個特殊硬體指令, 而inline ISA長的像是手寫組合語言但是使用比較方便. 甚麼叫做有這個硬體指令但是高階語言很難用? 比如我隨便設計一個指令,P=A*B*C+X+Y 那編譯器一定要看到P=A*B*C+X+Y; or Q=A*B*C;P=Q+X+Y; 這樣確定的運算才可以配出這個指令 如果中間有一些不對...比如說中間同時計算過A*B和X+Y 編譯器會很開心的用算過的東西取代掉A*B和X+Y 你就配不出你設計的新指令了 所以為了避免這樣 你可能就...假設指令名稱叫XC5 P=__intrinsic_xc5(A,B,C,X,Y); 或者 __asm("XC5 P,A,B,C,X,Y"); Performance Critical Function 允許Programmer標示哪個Function 在性能上關鍵 但基本上整個最佳化應該還是要你自己來 driver環境上頂多只能幫你 不要有拖慢這個Function執行的速度的行為 比如說 把其他計算也同時排進去. : http://goo.gl/LHeklW Memory Controller &PHY Losesess DCC 針對要送進顯示卡DRAM的資料可以先壓縮 而節約頻寬 過去只有Texture在讀取前預先破壞性壓縮過. 這方法的原理就是你要存的資料很多都是圖形或者Shader 算出來的資料給下一步要用的投影.特色就是有不小的機會, 你和你的相鄰像素只差一點點 那我只傳兩個的差值就可以減少一些資料. 不過Maxwell有做啦,Tonga也宣稱有,就各種可能有較好有較差的... : http://goo.gl/hVJ4Ar DX12 async compute 不是中圖Preemtive的傳統計算,你算一個等他回來一個 而是部分的可以預先送入 利用沒用光的資源先計算 : http://goo.gl/M29cPB 所有應用軟體的要求 都會一起堆在driver內 然後除了driver之外,硬體層也在接受要求後 內部有排程器 這部分就...除非等HSA/Fusion完全完成, 否則只有進步沒有變革性的更動. : http://goo.gl/02NPYM DP支援的解析度,SDR=8bit,HDR: > 8bit : http://goo.gl/bEaPbx HDR色域 : http://goo.gl/hVU24E : http://goo.gl/cwxiiC 因為節約耗電量 具有的動態調節能力 (注:最初期的省電作為以能否整個關閉邏輯閘 或者是動態調整頻率來考量省電. 而之後則實作發現比如能否劇烈切換 關閉後再打開有沒有反而更耗電各種問題 : http://goo.gl/UXfV5c : http://goo.gl/sAE9bi : http://goo.gl/H2u1kb : http://goo.gl/SmqyAZ : http://goo.gl/SlbT3i : http://goo.gl/FwgSTh 傳統的繪製 假設在環境中存在一隻攝影機 而攝影機所拍到的東西存在他自己的"底片"上 這個底片是一個平面,你看的是這個平面,而且每個像素 大小均等 那現在如果是環境中有兩支攝影機在不同地方? 還是所用的底片不是平面的 ? 想也知道這是用在那個環境的,但我們先把這兩個問題訂為 雙眼顯示和曲面螢幕 傳統方式當然可以繪製兩個攝影機所拍的東西 只是你要這個frame切換攝影機所在位置,Vertex Shader 開始就重算一次.然後下個frame又要切回來 我跳過去了 我又跳過來了 每次你都要幫我重算呦 至於非平面螢幕也可以在每個vertex Shader後,Pixel Shader 之前再套入另外一個Shader換算. 可是就要多一套計算. 那直接硬體化了就是使用他的介面就可以直接做到兩個效果 不用在軟體再中間重新計算 : http://goo.gl/AtmnVq Reservation (Station): 只要處理器需要動態分配執行的資源,也就是說不只 GPU,連現代(1995後吧)的cpu也會有, : http://goo.gl/lgOSXJ 對應multiGPU或者是Crossfire的重大變更 理面的AFR指的是CF採用AFR(每Frame交互計算) 但是他會產生嚴重的叫做 Micro-Stuttring的問題 這是甚麼問題我記得剛好以前有寫過 https://www.ptt.cc/bbs/PC_Shopping/M.1336495940.A.DCA.html 簡單說FPS平均很好看 顯示出來的時間不均等 而且視覺差異更糟糕 那這個改進就是, 我AFR後算好後 我插一個延遲 到固定的時間才確定要顯示 這可以解決micro-stuttring的問題 可是我暫時懷疑一下.因為預設如果開 那麼CF後的數字就不一定漂亮 而且這個做法說不定之前多卡的時候如果有開VSYNC也不會有問題... 這就要確認了,但對不用多卡的這個功能是沒差別 : 懶人包:(只看標題) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.117.179 ※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1467390739.A.099.html

07/02 00:37, , 1F
看不懂 只能推QQ
07/02 00:37, 1F

07/02 00:38, , 2F
不是做電路的 看不懂+1 QQ
07/02 00:38, 2F

07/02 00:39, , 3F
無腦推就對惹
07/02 00:39, 3F

07/02 00:39, , 4F
QQ
07/02 00:39, 4F

07/02 00:40, , 5F
先推再看
07/02 00:40, 5F

07/02 00:40, , 6F
看無推QQ
07/02 00:40, 6F

07/02 00:40, , 7F
07/02 00:40, 7F

07/02 00:40, , 8F
阿 看不懂QQ
07/02 00:40, 8F

07/02 00:41, , 9F
太高深了看不懂QQ
07/02 00:41, 9F

07/02 00:41, , 10F
幫教主QQ
07/02 00:41, 10F

07/02 00:41, , 11F
Jk大必推 不過好想知道為什麼ACE會被刪減阿
07/02 00:41, 11F
基本上ACE/ROP等只看數量變化不準 因為不同的設計 不要說不同代了 同一代內的高低階晶片都不一定一樣 一組ACE不一定做一樣多的事情 搞不好更多了.. 而就算是簡化的設計也很多啊 G92/G80都是2-way VLIW,但是是1+0.5個MAC 後來G200就取消那0.5個了 然後ATI的VLIW5很快就簡化成VLIW4 因為第5個不但很少用 也沒人排的出4+1的指令. 通通都是4+0 or 0+1,所以就砍了一個也少點損失

07/02 00:42, , 12F
看不懂 = =
07/02 00:42, 12F

07/02 00:42, , 13F
用不到就先刪阿QQ 大家都馬拿產品作實驗
07/02 00:42, 13F
※ 編輯: jk21234 (42.72.117.179), 07/02/2016 00:47:05

07/02 00:43, , 14F
8葛ace用不太到 先砍到四葛試水溫QQ
07/02 00:43, 14F

07/02 00:44, , 15F
快推不然別人以為我看不懂
07/02 00:44, 15F

07/02 00:44, , 16F
懶人包應該放在最上面 我都拉完了....
07/02 00:44, 16F

07/02 00:44, , 17F
DX12不是會用到嗎QQ
07/02 00:44, 17F

07/02 00:44, , 18F
快推避免別人知道我看不懂
07/02 00:44, 18F

07/02 00:44, , 19F
這篇技術含量太高 只能推了
07/02 00:44, 19F

07/02 00:45, , 20F
QQ 應該是用不到那麼多 一個甜品級的概念
07/02 00:45, 20F

07/02 00:46, , 21F
推 深入淺出
07/02 00:46, 21F

07/02 00:47, , 22F
micro-stuttring跟侏儒畫格是同個意思嗎?
07/02 00:47, 22F

07/02 00:48, , 23F
07/02 00:48, 23F

07/02 00:48, , 24F
同意思
07/02 00:48, 24F

07/02 00:54, , 25F
…也太多頁,看到眼花
07/02 00:54, 25F

07/02 01:01, , 26F
intrinsic那邊應該就是把GCNㄧ些用高階語言難表示
07/02 01:01, 26F

07/02 01:01, , 27F
的功能包成函數
07/02 01:01, 27F

07/02 01:02, , 28F
像同一wavefront資料洗牌這種功能
07/02 01:02, 28F

07/02 01:09, , 29F
這不就要遊戲廠商去針對gcn作特殊的優化
07/02 01:09, 29F

07/02 01:09, , 30F
還是這個是對計算所做的
07/02 01:09, 30F

07/02 01:09, , 31F
嗯,原來是這樣
07/02 01:09, 31F

07/02 01:11, , 32F
CU reservation 那頁是講說可以為 command queue保
07/02 01:11, 32F

07/02 01:11, , 33F
留專用的CU
07/02 01:11, 33F

07/02 01:13, , 34F
像是說RX480上有36個CU 我便可以專門切4個出來專門
07/02 01:13, 34F

07/02 01:13, , 35F
算某幾個特定的kernel
07/02 01:13, 35F

07/02 01:14, , 36F
其他kernel去分其他32個
07/02 01:14, 36F

07/02 01:14, , 37F
AFR frame pacing就是要解決多GPU輸出frame時間差
07/02 01:14, 37F
還有 27 則推文
07/02 01:55, , 65F
但是廚房還是得紮實做出兩桌,沒法省事。
07/02 01:55, 65F

07/02 01:55, , 66F
VRS那邊才是未來能幫GPU大廚省事的功能。
07/02 01:55, 66F

07/02 01:56, , 67F
等於告訴廚師,我們只在意主菜,小菜你隨便上就好
07/02 01:56, 67F

07/02 01:57, , 68F
VR離眼睛注視處以外的區域邊邊角角糊一點無所謂。
07/02 01:57, 68F

07/02 01:58, , 69F
但主菜=視點注視處要確實做好做滿。
07/02 01:58, 69F

07/02 02:34, , 70F
GPU上16bit好像夠用,我搞別的DSP的演算法倒是常常
07/02 02:34, 70F

07/02 02:34, , 71F
遇到16bit精度不夠的問題OTZ
07/02 02:34, 71F

07/02 02:37, , 72F
fp16應該是特別為DNN搞的吧
07/02 02:37, 72F

07/02 02:39, , 73F
FP16在手機GPU很普遍,因為省電晶體。
07/02 02:39, 73F

07/02 02:40, , 74F
其實FP16很好用了,只有某些狀況精度差會出包要避開
07/02 02:40, 74F

07/02 02:41, , 75F
PC現在是因為走GPU多用途化,GPGPU時機到了
07/02 02:41, 75F

07/02 02:42, , 76F
開始有更多兼差的工作不需要高精度。
07/02 02:42, 76F

07/02 02:51, , 77F
nv這樣手筆很大 額外開一顆大顆的專作gpgpu
07/02 02:51, 77F

07/02 02:51, , 78F
那種大顆光罩來一次就破10M惹好像
07/02 02:51, 78F

07/02 03:01, , 79F
他退出手持晶片,總要找東西塞滿約好的產能
07/02 03:01, 79F

07/02 03:02, , 80F
而且搞不好繪圖也用的上。
07/02 03:02, 80F

07/02 03:10, , 81F
他那整組要賣十二萬鎂耶 根本是瞄準估狗之類的
07/02 03:10, 81F

07/02 04:14, , 82F
樓上obov 完全看不懂先推
07/02 04:14, 82F

07/02 04:57, , 83F
07/02 04:57, 83F

07/02 07:13, , 84F
推~
07/02 07:13, 84F

07/02 08:17, , 85F
樓下是圖論大師
07/02 08:17, 85F

07/02 08:24, , 86F
專業
07/02 08:24, 86F

07/02 08:39, , 87F
07/02 08:39, 87F

07/02 08:42, , 88F
!!
07/02 08:42, 88F

07/02 08:47, , 89F
EE系看懂一點幫推
07/02 08:47, 89F

07/02 09:24, , 90F
這太猛了...
07/02 09:24, 90F

07/02 09:35, , 91F
快推不然人家以為我看不懂
07/02 09:35, 91F

07/02 09:46, , 92F
資訊量龐大,還好是早上看到,推~
07/02 09:46, 92F

07/02 10:14, , 93F
請問一下,warp不是相當於wavefront嗎?1warp有32t
07/02 10:14, 93F

07/02 10:14, , 94F
hread;1CU有8wavefront,1wavefront有64workitem
07/02 10:14, 94F

07/02 10:14, , 95F
。thread相當於workitem
07/02 10:14, 95F

07/02 10:30, , 96F
不同一張卡 warp 會不一樣大喔
07/02 10:30, 96F

07/02 10:32, , 97F
不過後來好像都改成1wavefront32workitem了的樣子
07/02 10:32, 97F

07/02 10:32, , 98F
現階段 VR 軟體端還是硬幹居多,軟體上寫畫兩遍
07/02 10:32, 98F

07/02 10:33, , 99F
你硬體提供了畫一遍的神技,沒人拿去套也是沒用
07/02 10:33, 99F

07/02 13:08, , 100F
好複雜 看不太懂 只能跪了...
07/02 13:08, 100F

07/02 13:19, , 101F
嗯……算了,先推再說
07/02 13:19, 101F

07/02 23:25, , 102F
我們講同一種語言?
07/02 23:25, 102F

07/02 23:26, , 103F
膝蓋痛痛的...
07/02 23:26, 103F

07/03 13:38, , 104F
專業推
07/03 13:38, 104F
文章代碼(AID): #1NTfiJ2P (PC_Shopping)
討論串 (同標題文章)
文章代碼(AID): #1NTfiJ2P (PC_Shopping)