星期日, 12月 06, 2009

[頁邊筆記]Larrabee的教訓:GPU≠GPGPU

昨天分別跟幾個朋友聊這個問題,得到的反應都一樣:

其實Intel會取消推出Larrabee獨立顯示卡的計畫(以產業界的習慣講法是:轉成RD研究案),並不讓人意外,因為Intel打從一開始,就把主要目標放在「打敗GPGPU」上,如果Intel只是要做一個很有競爭力的discrete GPU,姑且不論用x86 core好不好,Larrabee根本就不需要X-Ring cache coherency、Ring Bus和一票有的沒有的,反而該走48 core SCC的路線,放棄hardware cache coherence,改採hardware-accelerated message passing結合software-managed的page-level memory coherency的方式,interconnection乖乖沿用行之有年的crossbar。

坦白講,我自己一直蠻懷疑hardware cache coherence在未來many core的應用,畢竟怎麼做,overhead都太大了,但除非未來有革命性的技術突破,像可以巨幅縮短每個core到memory距離的3D Stack Memory,或著可整合至每個核心的超高速非揮發性記憶體,徹底打破既有的memory hierarchy,否則只要多層cache繼續存在,電腦開機從Boot ROM擷取執行POST後、所有資料還是得從最下層的磁碟系統一層一層搬上來,維持既有「單一電腦」的前提之下,hardware cache coherence都有其必要性。

當然,「Single Chip Multi-Computer」也是一種可行的方向,反正HPC市場早就習慣MPI了,但程式還是很不好寫。目前最接近的設計,大概就是Cell了,每個SPE幾乎可視為「獨立的Computer」,可惜記憶體太小了。假如IBM可以增加SPE的Local Memory容量,甚至整合M-RAM之類的高速非揮發性記憶體,應用彈性絕對不是同一個檔次。

最後,我還是覺得,「GPGPU」應該被更貼切的名詞取代才對,因為它誤導了很多人,以為GPU就一定可以做GPGPU、GPGPU產品一定適合做高階繪圖功能。最起碼,能用NVIDIA顯示卡跑Folding@Home也只是進入G80世代後的事情,Intel基於「那票該死的GPGPU提倡者整天靠盃CPU不再重要,我就做出比你更好的GPGPU」心態而生的Larrabee也不會有獨立顯示卡版本,DreamWorks更是壓根兒用不到Larrabee的繪圖功能。這個名詞該怎麼取呢?讓那票寫教科書的大師傷腦筋、我只要乖乖掏錢買磚塊書看就好了。

12 則留言:

匿名 提到...

咳, 敝公司沒有取消, 當然我個人不看好這隻蜜蜂是真的.

molesterwaterball 提到...

套某人看過X科技某文把Larrabee打成LarraBee講過的話:Larrabee是地名,不是蜜蜂。(爆)

匿名 提到...

還有, 你誤解了 GPGPU 的意思, 也錯看了 Intel 在這上面的策略. nVidia 力推 GPGPU 是因為 1. 他自己沒有 CPU 2. 有不少東西用目前的 GPU 架構運算還頗快 3. 已經佔穩高階GPU運算市場, 當然要為他們的 GPU 尋找新的應用領域與市場. 而 Intel 蜜蜂小組(跟他們常接觸就真的是不太喜歡他們那票人)也不是為了做 GPGPU, 他們的目的就是做個夠快的 GPU 跟大家拼. 使用一堆 x86 core 來當 GPU 是他們提出的想法, 但是現實是一堆 x86 core 組起來運算目前 Polygon based 的 3D 並不見得有利, 不過 GPGPU 目標的應用倒是比較適合這隻蜜蜂, 當然只好強調這方面啦. 講點好話, 這隻蜂在 Ray Tracing based 的 3D 會比較有優勢, 就看整個業界會花多久時間轉換了.

匿名 提到...

Larrabee 是地名沒錯, 不過他們 team 所有的 logo 跟 email 都是用蜜蜂.

匿名 提到...

我的留言一概在這裡分享用, 不要再次引用. 害到我的話就只好消失了.

匿名 提到...

想想, 我不希望在任何地方看到據 Intel 內部人員透露, 然後我講的東西出現在裡面, 這樣對我太危險了.

molesterwaterball 提到...

我根本就不知道這位匿名網友是誰,也無從證實,所以我也不會相信這種連續性的來路不明留言。就這樣。

匿名 提到...

來路不明是不好透露我是誰. 然後許多話沒講明是不想太明白指出你評論裡面有許多錯誤訊息.

匿名 提到...

或許部主是相信你的,但是公開場還為了保護你所以這樣說XD

匿名 提到...

如果一開始是單純為了GPU而做,那情況就是:1.一個部門提出新GPU計畫(X86 Core based) 2.被隔壁部門看到,說為什麼不加個xxx來跑ooo 3.太肥,電晶體效率差到整個無法接受的地步。要求無所不能的結果就是樣樣通樣樣鬆,太多的電晶體跟繪圖無關跟專門繪圖的硬體比效率怎麼可能會贏?只是當初大概大家都沒料到,Larrabee電晶體效率差到必須要兩個世代的製程差距才能具有市場競爭力...
Ray Tracing在3D上效率要超過Rasterizing最少也要五年,不過我是認為五年後實時Ray Tracing還是空中樓閣的可能性也很大就是了。

匿名 提到...

>>Larrabee電晶體效率差到必須要兩個世代
>>的製程差距才能具有市場競爭力...

.....問題是領先兩個世代的對手也會
更新製程,結果就是Larrabee在效能上永遠
拼不贏GPU.

雖然Larrabee一直講GPGPU的潛力,
可是其實內部應該也知道,PC的繪圖晶片才是
主戰場,如果當不了稱職的繪圖卡,那GPGPU
恐怕也沒得玩了.
沒有繪圖卡的市場,只賣進專業的小眾HPC市場
根本不可能回收龐大的GPU開發成本.
所以Larrabee放棄上市也是合理的選擇.

waffenss 提到...

想到看到之前那才32core,
die size卻預估超過600mm2的照片.
Larrabee真的是太肥了.
肥到LNI也救不回那超低的運算密度.
基本上這已經不干Ringbus的事
那個core本身就是大胖子.

也許在Many core CPU的世界,
Larrabee算是很小而有效能.
但是在GPU的競賽中,一個Larrabee core
可以讓Nvidia塞一整組32SP的SM
也可以讓ATI塞160個SP.
跟這些渾身ALU的暴力型怪物GPU相比,
Larrabee已經胖到不可原諒......