在前一篇已經寫了一個小程式,用來大概測試一下 CUDA 在 GPU 上的計算能力了∼後來,想一想,乾脆把公司能跑 CUDA 的顯示卡,都拿來測看看吧!有測試的卡一共四張(維基百科的參考資料):
顯示卡 | 核心 | 核心時脈 | 記憶體時脈 | Stream Processors |
---|---|---|---|---|
Leadtek WinFast PX8800 GTS TDH 320MB [超頻版 BIOS] | 8800GTS 320MB G80 |
540 | 840 | 96 |
Gigabyte GV-NX88T512H-B | 8800GT 512MB G92-200 |
600 | 900 | 112 |
ASUS EN8800GTX | 8800GTX G80 |
575 | 900 | 128 |
Leadtek WinFast PX8800 Ultra Leviathan [水冷超頻版] | 8800Ultra G80 |
684 | 1161 | 128 |
不過由於是在不同的電腦上,組態也各自不同,有的卡只跑 PCI-Express x4,有的跑到 x16,所以遊戲統計記憶體到顯示卡記憶體的傳輸部分效能,就不考慮了∼這邊的測試全部都只取不考慮傳輸的測試結果。
而測試結果如下:
而由上面的測試來看,可以發現大致上的結果是:8800Ultra OC > 8800GTX > 8800GTS 320 OC > 8800GT。
結果比較詭異的地方, 8800GTS 320 OC 居然會贏過 8800GT!?雖然 8800GTS 是有超頻,但是不管是 stream processor 的數量、核心時脈、記憶體時脈,8800GT 在規格上都是比較好的;因此這結果出來後,真的讓 Heresy 嚇了一跳。 @@
現在猜比較有可能的原因,是 8800GTS 320 由於記憶體通到是 320bit,比 8800GT 的 256bit 來的大;所以即使 8800GTS 320 的記憶體時脈較低,但還是讓 device memory 的最大頻寬比 8800GT 來的大。以維基的資料,標準版的 8800GTS 320 的記憶體頻寬是 64GB/s,比 8800GT 的 57.6GB/s 來的高;如果再考慮到超頻版,的確是有可能差更多。
如果這個想法是正確的話,這也同時凸顯了以這個簡單測試的例子來說,對於顯示卡記憶體頻寬的要求,比 GPU 的處理速度來的重要。當然,這也是由於這個測試程式計算量相當少的關係吧∼如果拿計算比較複雜的程式來測試,應該會得到另一種結果才對。