瀏覽單個文章
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
引用:
Originally posted by kkcity59
再來說Pixel Shader,以R300來說,他有8gFLOPs/cycle,以300mhz的R300
可以得到19.2gFLOPs,問題在於NV3X宣稱52gFLOPs
(我不確定這是同時加上的Vertex Shader的總和?)


如果1cycle有8gFLOPs的話,那就不得了了.... ^^a
考慮1個mad = 8FLOPs的話, R300應該可以得到
8FLOPs x 8pips x 325MHz = 20.8GFLOPs
的浮點效能.

話說回來, 其實我後來一直找不到nVIDIA所謂宣稱NV30有52GFLOPs的出處,
反倒是在paper上頭找到了nVIDIA宣稱500MHz的NV30有16GFLOPs

http://developer.nvidia.com/docs/IO...ysSimOnGPUs.pdf
page3

"Free parallelism, GFlops of math, vector processors
500 Mhz * 8 pix/clk * 4-floats/pixel = 16 GFlops"

引用:
Originally posted by kkcity59
事實上PS的運作是更複雜,所以需要更多實驗來驗證他的效率
好比pixel shader越來越長,得藉助Local buffer來存放,這樣要如何保持效率?
只是廠商的宣稱值自然可能灌水.沒有實驗下,我會先不質疑這樣的說法
但因為AF是長久以來Nvidia的問題,我會把這篇測試仍舊導向這樣的結論
而不直接做出PS 2.0效率不彰的結論。


關於Pixel Shader的效能方面, 有時會直覺地讓人想到FP24 vs FP16/32;
但是情況並不那麼單純. 雖然nVIDIA官方宣稱"使用FP16是FP32的兩倍快",
但是根據NFI那邊的數據分享, NV3x使用FP32時的速度延遲並不是真的那麼大.

http://www.notforidiots.com/forum/v...php?t=8&start=8

在極端的case(使用32個register)下, 程式碼完全使用FP16運作有可能比使用FP32快了2.4倍.

但是如果減少register的使用(意指交換減少, 共用增加, 程式碼總長度增加), FP32其實並不會很慢;
增減調配register的使用, 亦即需要compiler來做optimize, 現在的Shader不論是game或者benchmark,
普遍地都是採用固定的assembly code, 如果寫作上普遍使用HLSL的話, 透過comipler技術,
可以產生比較適合於NV3x目前架構的Shader Code.

至於R300的部分, R300的架構設計配合了現有的Shader Code, 在某些順序下的指令可以平行處理,
而因此可以增加速度, 目前的小型Shader的指令並不複雜, 於是加速幾個常用指令的平行度是個好選擇;
但是在shader規模不斷增大的狀況下, 這樣的optimize法其實很快地會遇上瓶頸, 還是應該要連HLSL的運用也一起考慮進去才是長遠之道.

至於NV3x將Shader Code儲存在DRAM的實作問題, 其實當然會在GPU內部有規模比較小的cache, 只是可能在數十個指令的程度, 未來要擴充指令數應該也不是什麼問題.
其實這樣想起來, R350的F-Buffer基本上也是一種類似nVIDIA做法的手段, 因為一遇到條件分支, 不論剩下幾個指令空間, 還是得要做content switch, dump到DRAM讀入新的指令, 那與NV3x差異也不會太大的.

其實以類似RISC CPU的觀念來看, 本來就應該透過高階語言去讓compiler去做針對不同處理器的最佳化.
DX9規定了低階的格式, 基本上不是一件多好的事情.... 當然已知DX10應該已經捨棄這種做法了.

引用:
Originally posted by kkcity59
嗯,也許beyond 3d這篇文章可以解釋一些這樣的現象,這是NV30,不是NV35
我不知道NV35是否有作一些改變,但是我由電晶體數猜想是不太可能的
另外小弟對GPU認識很粗淺,這篇文章我看得很吃力,能相互討論仍值得高興
http://www.beyond3d.com/articles/nv30r300/
它有FP16Unit X 8、和八個貼圖單元,FP32Unit事實上是由兩個FP16構成
所以它等於只有四個 FP32Unit,這樣他等於只能提供Radeon 9500的規模
雖然Radeon 9800是採用FP24而已,但是他確實就有兩倍的效率了
另外我查過NV30的PS 2.0的速度,他的fillrate真的是很慢
目前ps 2.0的遊戲還很少,假如在PS 2.0下NV35效率跟R300有很大差異
購買他就是沒有太多意義了,不過根據您提供這些連結跟我查的結果
NV35的PS 2.0可能一樣是很慢的,Nvidia傳統上會公布這一些資料
但這在NV30之後這,Nvidia反而逐漸保留這些資料,讓大家不太好預測


oldman大在這篇文章作出NV30的管線內建FP16unit x 8的推論,
不過其實一如前述的理由, 看來NV3x的FP32 unit並不完全是兩個FP16 unit所構成的.
舊 2003-08-27, 10:23 PM #34
回應時引用此文章
Artx1離線中