想請教一下關於顯卡的專有名詞 - 顯卡

Table of Contents

※ 引述《stupidbear (肥天笨熊)》之銘言:
: 就是關於Nvidia的顯示卡都會有繪圖時脈與處理器時脈,想請教這兩者有什麼不同阿?
: 因為有時候看一些關於顯示卡的消息常常會看到兩者的時脈和官網的相反= =
: 所以想請教一下大家,謝謝

1.提供更多黑箱中的細節 讓不知道幹嘛用的人高興一下

2.提供計算理論效能的基礎 讓會乘法的人出來打嘴砲

3.由於Programable的東西必定要計算throughput per cycle
有了這些資料可以幫寫程式的人節省一些腦力

比如說,G92如果是Core 650MHZ,Shader 1500MHZ,比值2.5,表示
我可以650MHZ的速度提供對外記憶體讀寫,每次XXbit.
而我把暫存器中的東西拿去算的速度是每秒1500M個FMAC+FLOP,如果我只取
FMAC計算,且都是算無相關的資料,那麼每秒需要1500M*3=4.5G個浮點數輸入.
如果資料完全從外部記憶體而來,4.5G*32bit/650M=224,這表示我需要256bit
的顯示卡才能讓我這樣搞.....不過這純粹是特例的計算.沒有實際意義.

另外一個複雜而實用的例子,如果你在G92上,想做1000x1000的矩陣乘法,
當然會使用16KB的local memory,那麼,請問大概可以一秒鐘算幾個,相當於多少
Gflop/s ?不寫程式可以評估嗎??這個也是可以先算的.

n=1000,但是按照經驗,把它擴大成1024x1024會比較有效率,

兩組nxn的矩陣乘法,需要n^3+N^2次讀,N^2次寫入.套入n=1024,32bit浮點數,
需要讀寫的量是4GB+8MB,用G92的記憶體頻寬頂多略高於32GB/s來看,一秒鐘
大概最多做八次1000x1000的矩陣乘法.等效於一顆16G flops的晶片.

可是這是它的極限了嗎?換成用ALU來判斷,可以到40G~50G flops左右.
所以中間有2.5~3倍的落差,這表示,你的矩陣乘法用循序做導致n^3+N^2次讀,
N^2次寫入的方法成為瓶頸,問題不是算的不夠快而是記憶體搬的不夠快.

所以,要改用小矩陣的方式處理,如果將它拆成16x16的矩陣,就會從n^3+2n^2
的讀寫變成(2*n^3)/16=n^3/8,約是原有的1/8,這時候記憶體頻寬不是瓶頸,
你就可以專心在最佳化code上面.貼近原有的3倍理論值,就是一秒大概可以算
20次以上的1000x1000矩陣乘法.

三個你要信哪個呢..........



--

All Comments

Una avatarUna2010-04-10
超詳細!!! =////=不過我看不懂...
Edward Lewis avatarEdward Lewis2010-04-12
看不懂+1...不過還是推一個=.=
Hedwig avatarHedwig2010-04-14
寫這種出來給非資電的看沒意義...
Frederica avatarFrederica2010-04-15
是jk神...快拜
Aaliyah avatarAaliyah2010-04-20
有神快拜; 可以把mem clock一起拉進來舉例嗎XD
Quintina avatarQuintina2010-04-21
資電也看不懂 好像該撞牆..XD
Callum avatarCallum2010-04-24
我套錯了,算記憶體速度應該不能用650MHZ...
Quintina avatarQuintina2010-04-26
我有些套法可能會錯 所以不見得需要看懂 這是舉例這些數字
會拿來幹嘛用的.....