RX480 技術情報 PPT - 3C

Table of Contents

※ 引述《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也不會有問題...
這就要確認了,但對不用多卡的這個功能是沒差別

: 懶人包:(只看標題)

--

All Comments

Mia avatarMia2016-07-03
看不懂 只能推QQ
Margaret avatarMargaret2016-07-06
不是做電路的 看不懂+1 QQ
Margaret avatarMargaret2016-07-06
無腦推就對惹
Belly avatarBelly2016-07-06
QQ
Todd Johnson avatarTodd Johnson2016-07-07
先推再看
阿 看不懂QQ
Susan avatarSusan2016-07-09
看無推QQ
Ursula avatarUrsula2016-07-09
Rae avatarRae2016-07-11
太高深了看不懂QQ
Iris avatarIris2016-07-15
幫教主QQ
Todd Johnson avatarTodd Johnson2016-07-17
Jk大必推 不過好想知道為什麼ACE會被刪減阿
Jacob avatarJacob2016-07-21
看不懂 = =
Andy avatarAndy2016-07-25
用不到就先刪阿QQ 大家都馬拿產品作實驗
Gary avatarGary2016-07-29
8葛ace用不太到 先砍到四葛試水溫QQ
Rachel avatarRachel2016-07-31
快推不然別人以為我看不懂
Una avatarUna2016-08-04
懶人包應該放在最上面 我都拉完了....
Regina avatarRegina2016-08-05
DX12不是會用到嗎QQ
Victoria avatarVictoria2016-08-06
快推避免別人知道我看不懂
Blanche avatarBlanche2016-08-09
這篇技術含量太高 只能推了
Skylar Davis avatarSkylar Davis2016-08-12
QQ 應該是用不到那麼多 一個甜品級的概念
Daph Bay avatarDaph Bay2016-08-14
推 深入淺出
Quintina avatarQuintina2016-08-15
micro-stuttring跟侏儒畫格是同個意思嗎?
Kumar avatarKumar2016-08-18
Heather avatarHeather2016-08-21
同意思
Edith avatarEdith2016-08-21
…也太多頁,看到眼花
Kama avatarKama2016-08-26
intrinsic那邊應該就是把GCNㄧ些用高階語言難表示
的功能包成函數
Olga avatarOlga2016-08-31
像同一wavefront資料洗牌這種功能
Ina avatarIna2016-09-03
這不就要遊戲廠商去針對gcn作特殊的優化
還是這個是對計算所做的
Odelette avatarOdelette2016-09-05
嗯,原來是這樣
Ina avatarIna2016-09-06
CU reservation 那頁是講說可以為 command queue保
留專用的CU
Brianna avatarBrianna2016-09-11
像是說RX480上有36個CU 我便可以專門切4個出來專門
算某幾個特定的kernel
Ursula avatarUrsula2016-09-13
其他kernel去分其他32個
Oliver avatarOliver2016-09-17
AFR frame pacing就是要解決多GPU輸出frame時間差
Vanessa avatarVanessa2016-09-20
對岸有說rx480 frame的延遲比之前的A卡更低了
http://tieba.baidu.com/p/4644205249
感覺跟這裡提到的AFR無關?
Heather avatarHeather2016-09-22
這可能搭配DX12非同步計算能力,在delay插入其他非
繪圖工作?
Hazel avatarHazel2016-09-23
嗯 好像暸解了些什麼呢!
Madame avatarMadame2016-09-24
快推,不然人家以為我看不懂
Ivy avatarIvy2016-09-29
shader intrinsic 需要遊戲對GCN最佳化
像是 http://bit.ly/298jAHN
Ethan avatarEthan2016-09-29
快推,不然別人以為我看不懂!!!
Necoo avatarNecoo2016-10-04
計算部份也當然是用得到
Agatha avatarAgatha2016-10-06
Variable Rate Shading那邊說的不是vertex shader
Emma avatarEmma2016-10-06
而是能應需求變化改變繪圖品質,比如視點看的位置
高解析高畫質,外圍餘光處低解析低畫質。
Dinah avatarDinah2016-10-08
不過這可能需要搭配其他硬體偵測眼球看的位置
Jack avatarJack2016-10-08
看不懂 推就對了…
Ethan avatarEthan2016-10-09
太專業看不懂。。。
Agatha avatarAgatha2016-10-11
VR兩眼其實還是硬體要算兩次vertex shader,
因為兩眼座標不同,這邊的一pass是指軟體
只處理送出一份模型,但有兩組矩陣轉換座標
Thomas avatarThomas2016-10-12
Cpu處理的API與Driver可以省工,但GPU其實仍處理兩

所以VR很操GPU,但卻不一定操CPU...
Hardy avatarHardy2016-10-16
這些技術可以提升軟體處理效率,但GPU仍加倍負荷
William avatarWilliam2016-10-17
用比喻就是可以跟點菜的(CPU)說來兩桌類似的菜
只是這個不要辣,那個不吃牛。
點菜小妹的一次搞定兩桌,效率很好。
但是廚房還是得紮實做出兩桌,沒法省事。
VRS那邊才是未來能幫GPU大廚省事的功能。
Delia avatarDelia2016-10-18
等於告訴廚師,我們只在意主菜,小菜你隨便上就好
Cara avatarCara2016-10-18
VR離眼睛注視處以外的區域邊邊角角糊一點無所謂。
Steve avatarSteve2016-10-21
但主菜=視點注視處要確實做好做滿。
Dora avatarDora2016-10-22
GPU上16bit好像夠用,我搞別的DSP的演算法倒是常常
遇到16bit精度不夠的問題OTZ
Wallis avatarWallis2016-10-25
fp16應該是特別為DNN搞的吧
Tracy avatarTracy2016-10-26
FP16在手機GPU很普遍,因為省電晶體。
Isabella avatarIsabella2016-10-27
其實FP16很好用了,只有某些狀況精度差會出包要避開
Yuri avatarYuri2016-10-28
PC現在是因為走GPU多用途化,GPGPU時機到了
Hedwig avatarHedwig2016-10-30
開始有更多兼差的工作不需要高精度。
David avatarDavid2016-10-31
nv這樣手筆很大 額外開一顆大顆的專作gpgpu
那種大顆光罩來一次就破10M惹好像
Kumar avatarKumar2016-11-02
他退出手持晶片,總要找東西塞滿約好的產能
Audriana avatarAudriana2016-11-04
而且搞不好繪圖也用的上。
Eartha avatarEartha2016-11-09
他那整組要賣十二萬鎂耶 根本是瞄準估狗之類的
Robert avatarRobert2016-11-14
樓上obov 完全看不懂先推
Rae avatarRae2016-11-15
Valerie avatarValerie2016-11-17
推~
Aaliyah avatarAaliyah2016-11-19
樓下是圖論大師
Olga avatarOlga2016-11-23
專業
Oliver avatarOliver2016-11-25
Mia avatarMia2016-11-26
!!
Harry avatarHarry2016-11-26
EE系看懂一點幫推
Franklin avatarFranklin2016-11-29
這太猛了...
Lydia avatarLydia2016-11-29
快推不然人家以為我看不懂
Todd Johnson avatarTodd Johnson2016-12-02
資訊量龐大,還好是早上看到,推~
Belly avatarBelly2016-12-05
請問一下,warp不是相當於wavefront嗎?1warp有32t
hread;1CU有8wavefront,1wavefront有64workitem
。thread相當於workitem
Queena avatarQueena2016-12-08
不同一張卡 warp 會不一樣大喔
Belly avatarBelly2016-12-09
不過後來好像都改成1wavefront32workitem了的樣子
Charlotte avatarCharlotte2016-12-14
現階段 VR 軟體端還是硬幹居多,軟體上寫畫兩遍
Suhail Hany avatarSuhail Hany2016-12-15
你硬體提供了畫一遍的神技,沒人拿去套也是沒用
Audriana avatarAudriana2016-12-16
好複雜 看不太懂 只能跪了...
Kristin avatarKristin2016-12-17
嗯……算了,先推再說
Edwina avatarEdwina2016-12-20
我們講同一種語言?
Damian avatarDamian2016-12-23
膝蓋痛痛的...
Elvira avatarElvira2016-12-27
專業推