作者drinkitblack (black)
看板VideoCard
標題Re: [轉錄] Intel:GPGPU沒有未來 NVIDIA CUDA只是 …
時間Wed Jul 9 02:36:55 2008
SLI和multi GPU是不一樣的
CUDA有指令可以讓你選擇用那一塊GPU做運算
device0、device1..
理論上主機板能插幾張就能跑幾張,不同主機板我就不知道了
目前市面上最多好像是三張
在Programming_Guide_2.0列的最強是Tesla S1070,multi processor有4x30
我猜是裝了四張GeForce GTX 280
台灣不知道有沒有LAB有Tesla?
另外也不是買有支援CUDA(G80以後)的卡就好
84、85只有2顆multi processor(一顆multi processor包含8顆stream processor)
我想能加速的意義有限
因為所有CUDA的運算,都是要先從host(CPU這邊)丟資料到device(GPU這邊)的memory
才能運算,也就是還要扣傳送的時間和memory access time
別小看這代價是很大的,頻寬和memory的速度都很重要
今天在HKEPC,NV要在八月推出支援CUDA的IGP,就是兩顆multi p
好奇的是IGP不也是讀main memory,不知道能不能省掉傳送時間
順便提一下CUDA這玩意,我初學有一點心得,有興趣可以看一下
基本上,把CPU和GPU一起運算比較好
首先要用GPU來運算,基本上就一定要加速,沒加速就一點意義也沒有
換言之你使用CUDA最在意的就是效能
因此程式設計師必須很了解GPU的硬體架構
小心翼翼的使用memory(有bank conflict、Memory Hierarchy的問題)
資料基本上都是designer要自己配到顯示卡的memory(你寫CPU CODE時根本不太需要管吧)
切thread時也要考慮很多硬體問題
另外debug很困難,基本上程式在GPU上跑時是無法中斷、使用printf的
而且你必須自己去考慮memory Coherence & Consistency的問題
簡單來說,CUDA是一種把效能、平行化的問題丟給designer的一種語言..
程式沒寫好的話,只會比CPU來算還慢
一些天生適合平行化的領域,如image process、矩陣運算
演算法就比較好寫一些,加速能力無窮
但像video encoder,其實就不好寫
目前雖然有產品出來,但似乎還不完全
提外話
前幾天有看到使用PS3 cell processor 改x264 encoder,效能似乎也沒有很好
我猜想是程式不夠最佳化,我想multicore、multithread的時代來臨
效能最關鍵的將是software..
最後提一個無關的
CUDA已經放出G80之後裡面的硬解晶片給CUDA使用(CUDA Video Decoder API)
可以直接硬解MPEG-2/H.264
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.236.21
1F:推 Dissipate:好專業 07/09 10:08
2F:推 xcxc:看起來好像不是很友善的語言,這可能比適應新架構的問題還大 07/09 10:35
3F:推 mike0227:因為東西還算新 還有目前沒這麼聰明的compiler XD 07/09 11:53
4F:推 milen:看M$要不要跳出來搞吧...不然就是NV和AMD自己爭氣點合作 07/09 13:11
5F:→ milen:不然現在這樣子誰敢認真玩下去 07/09 13:11
6F:推 mike0227:也沒那麼嚴重啦...該有的效果還是有出來 07/09 13:35
7F:推 milen:在頂尖領域是不管那些的..但一般使用上會很計較那個XD 07/09 15:52
8F:推 mike0227:一般使用就等高手寫好的程式就好啦 :P 07/09 19:39