RX480 技術情報 PPT - 3C

By Steve
at 2016-07-02T00:32
at 2016-07-02T00:32
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也不會有問題...
這就要確認了,但對不用多卡的這個功能是沒差別
: 懶人包:(只看標題)
--
: 原文網址: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也不會有問題...
這就要確認了,但對不用多卡的這個功能是沒差別
: 懶人包:(只看標題)
--
Tags:
3C
All Comments

By Mia
at 2016-07-03T22:53
at 2016-07-03T22:53

By Margaret
at 2016-07-06T11:21
at 2016-07-06T11:21

By Margaret
at 2016-07-06T16:13
at 2016-07-06T16:13

By Belly
at 2016-07-06T17:19
at 2016-07-06T17:19

By Todd Johnson
at 2016-07-07T19:49
at 2016-07-07T19:49

By Susan
at 2016-07-09T13:27
at 2016-07-09T13:27

By Ursula
at 2016-07-09T22:15
at 2016-07-09T22:15

By Rae
at 2016-07-11T04:58
at 2016-07-11T04:58

By Iris
at 2016-07-15T05:06
at 2016-07-15T05:06

By Todd Johnson
at 2016-07-17T23:20
at 2016-07-17T23:20

By Jacob
at 2016-07-21T19:45
at 2016-07-21T19:45

By Andy
at 2016-07-25T21:02
at 2016-07-25T21:02

By Gary
at 2016-07-29T00:53
at 2016-07-29T00:53

By Rachel
at 2016-07-31T20:22
at 2016-07-31T20:22

By Una
at 2016-08-04T08:04
at 2016-08-04T08:04

By Regina
at 2016-08-05T03:49
at 2016-08-05T03:49

By Victoria
at 2016-08-06T02:04
at 2016-08-06T02:04

By Blanche
at 2016-08-09T04:08
at 2016-08-09T04:08

By Skylar Davis
at 2016-08-12T19:05
at 2016-08-12T19:05

By Daph Bay
at 2016-08-14T07:29
at 2016-08-14T07:29

By Quintina
at 2016-08-15T19:46
at 2016-08-15T19:46

By Kumar
at 2016-08-18T11:41
at 2016-08-18T11:41

By Heather
at 2016-08-21T09:32
at 2016-08-21T09:32

By Edith
at 2016-08-21T17:29
at 2016-08-21T17:29

By Kama
at 2016-08-26T09:54
at 2016-08-26T09:54

By Olga
at 2016-08-31T09:39
at 2016-08-31T09:39

By Ina
at 2016-09-03T18:09
at 2016-09-03T18:09

By Odelette
at 2016-09-05T15:19
at 2016-09-05T15:19

By Ina
at 2016-09-06T23:13
at 2016-09-06T23:13

By Brianna
at 2016-09-11T20:05
at 2016-09-11T20:05

By Ursula
at 2016-09-13T09:00
at 2016-09-13T09:00

By Oliver
at 2016-09-17T06:00
at 2016-09-17T06:00

By Vanessa
at 2016-09-20T06:12
at 2016-09-20T06:12

By Heather
at 2016-09-22T23:16
at 2016-09-22T23:16

By Hazel
at 2016-09-23T15:42
at 2016-09-23T15:42

By Madame
at 2016-09-24T20:55
at 2016-09-24T20:55

By Ivy
at 2016-09-29T13:53
at 2016-09-29T13:53

By Ethan
at 2016-09-29T15:43
at 2016-09-29T15:43

By Necoo
at 2016-10-04T00:58
at 2016-10-04T00:58

By Agatha
at 2016-10-06T04:58
at 2016-10-06T04:58

By Emma
at 2016-10-06T19:51
at 2016-10-06T19:51

By Dinah
at 2016-10-08T04:26
at 2016-10-08T04:26

By Jack
at 2016-10-08T06:13
at 2016-10-08T06:13

By Ethan
at 2016-10-09T01:22
at 2016-10-09T01:22

By Agatha
at 2016-10-11T02:58
at 2016-10-11T02:58

By Thomas
at 2016-10-12T17:51
at 2016-10-12T17:51

By Hardy
at 2016-10-16T00:56
at 2016-10-16T00:56

By William
at 2016-10-17T06:53
at 2016-10-17T06:53

By Delia
at 2016-10-18T02:50
at 2016-10-18T02:50

By Cara
at 2016-10-18T11:22
at 2016-10-18T11:22

By Steve
at 2016-10-21T05:51
at 2016-10-21T05:51

By Dora
at 2016-10-22T15:29
at 2016-10-22T15:29

By Wallis
at 2016-10-25T04:31
at 2016-10-25T04:31

By Tracy
at 2016-10-26T05:48
at 2016-10-26T05:48

By Isabella
at 2016-10-27T05:30
at 2016-10-27T05:30

By Yuri
at 2016-10-28T21:57
at 2016-10-28T21:57

By Hedwig
at 2016-10-30T19:24
at 2016-10-30T19:24

By David
at 2016-10-31T08:34
at 2016-10-31T08:34

By Kumar
at 2016-11-02T11:31
at 2016-11-02T11:31

By Audriana
at 2016-11-04T20:33
at 2016-11-04T20:33

By Eartha
at 2016-11-09T18:43
at 2016-11-09T18:43

By Robert
at 2016-11-14T00:43
at 2016-11-14T00:43

By Rae
at 2016-11-15T16:03
at 2016-11-15T16:03

By Valerie
at 2016-11-17T17:57
at 2016-11-17T17:57

By Aaliyah
at 2016-11-19T05:20
at 2016-11-19T05:20

By Olga
at 2016-11-23T18:30
at 2016-11-23T18:30

By Oliver
at 2016-11-25T16:34
at 2016-11-25T16:34

By Mia
at 2016-11-26T00:18
at 2016-11-26T00:18

By Harry
at 2016-11-26T08:24
at 2016-11-26T08:24

By Franklin
at 2016-11-29T03:33
at 2016-11-29T03:33

By Lydia
at 2016-11-29T06:00
at 2016-11-29T06:00

By Todd Johnson
at 2016-12-02T19:05
at 2016-12-02T19:05

By Belly
at 2016-12-05T09:37
at 2016-12-05T09:37

By Queena
at 2016-12-08T06:07
at 2016-12-08T06:07

By Belly
at 2016-12-09T03:52
at 2016-12-09T03:52

By Charlotte
at 2016-12-14T03:51
at 2016-12-14T03:51

By Suhail Hany
at 2016-12-15T19:00
at 2016-12-15T19:00

By Audriana
at 2016-12-16T13:42
at 2016-12-16T13:42

By Kristin
at 2016-12-17T09:18
at 2016-12-17T09:18

By Edwina
at 2016-12-20T18:01
at 2016-12-20T18:01

By Damian
at 2016-12-23T00:01
at 2016-12-23T00:01

By Elvira
at 2016-12-27T06:44
at 2016-12-27T06:44
Related Posts
Coolchip 即將推出半高款“動能散熱器

By Connor
at 2016-07-02T00:25
at 2016-07-02T00:25
32核Zen被曝完成調校:規格豪華對Xeon

By Hardy
at 2016-07-02T00:24
at 2016-07-02T00:24
AMD RX 480 供電超抽?官方釋疑

By Kelly
at 2016-07-02T00:22
at 2016-07-02T00:22
24K 輕度遊戲機

By Steve
at 2016-07-02T00:20
at 2016-07-02T00:20
AMD 藍寶 Sapphire Radeon RX480

By Annie
at 2016-07-02T00:09
at 2016-07-02T00:09