http://pc.watch.impress.co.jp/docs/2007/1011/kaigai392.htm
Intel NehalemとAMD FUSION
両社のCPU+GPU統合の違い
http://pc.watch.impress.co.jp/docs/2007/1012/kaigai393.htm
MIMDのLarrabeeとSIMDのGPUの戦い
裡面有幾個重點:
1. Intel認為GPGPU不切實際,相比之下Larrabee的programming style比較好。
對CPU廠商來說,要跟著GPU的結構去program,資料得做成texture來load、輸出是寫到frame buffer之類當然算是「非常に汚いプログラミングモデル」。
2. 因為GPGPU不切實際,Nehalem的CPU+GPU只是為了從結構上節省成本。(on-chip UMA SOC,也就是Tinma)
如果是為了low-end結構的話,也不需要讓GPU跟著遊戲市場快速更新,反正只是Vista Aero用。
3. 「MIMDのLarrabee対SIMDのGPU」。
把Larrabee和GPGPU之間的對抗,比喻成就像過去HPC市場Cluster vs Vector Processor般的對決。
內文引用Intel人員的發言,指出Larrabee是個MIMD machine,但具備一般的階層式快取結構。
「我々が示したLarrabeeのダイアグラム図を見ればわかるとおり、LarrabeeはMIMDマシンだ。MIMDマシンに、コンベンショナルなキャッシュ階層を接続した構造となっている。そのため、非常にライトウエイトで低レイテンシなスレッド間コミュニケーションが、(プロセッサコア)アレイのどこからでも可能だ。
この構造は、今日のGPUとは大きく異なっている。GPUはSIMDマシンで、かなりの大きさ(のベクタ)で扱っている。MIMDマシン対 SIMDマシンの話が繰り返されている。また、GPUは、(伝統的なキャッシュ階層も持たないため)スレッド間の(コミュニケーションの)レイテンシははるかに長い。
MIMDであり、コンベンショナルなキャッシュ階層を持つ。この2点がLarrabeeの違いとなる」
因為Larrabee有階層式快取(每4個core共享一個L2、整個Larrabee共享一個L3?),所以thread與thread之間比較容易透過cache以較低的latency作溝通;GPU的話則是希望每個thread之間完全不做溝通。G8x則是介於這兩者之間….因為G8x還是有階層式的share memory、cache等等等結構,但是thread之間的溝通只要離開TPC之後就會變得越來越麻煩。CELL的話觀念又不一樣了….
http://nueda.main.jp/blog/archives/002989.html
NVIDIA aims for 3 TFLOPS with next high-end GPU
3TFLOPS的話,帳面上其實是已經超過兩倍了….以NVIDIA來說,G80->D8E這段成長基本上是每年性能2x的既定歷程,所以下一顆晶片(G100? D9E?)變成要在一年後達到D8E的兩倍性能的話,就要考慮65nm或是55nm的承載能力,然後改變結構來滿足這個要求。
和當初NV40 -> G70的狀況很像,每次高階製程都會先用低階產品設法熟練後拿來做高階,所以我想D8x裡面會有一顆晶片推出55nm版,最可能的應該是最低階的UMA chipset;其次,如果接下來的產品線還要同時滿足D8x般四層的產品線,那代表有兩個可能:
1. D9E = D8Ex2、D9p=D8px2 = D8E同等,所以D9E可能高達D8p or G80的4倍大。(!!)
2. D9E = D8E控制面的同等規模設計、但高時脈化、同時附加單元規模擴張。
後者的話電晶體數量會比較小,而且相比直接改善的性能會比較受限;但是良率會比較好,尤其是55nm並不像45nm一樣,實質上是65nm的 half node製程,性能與承載能力相對於65nm的改善應該有限,冒險作超大晶片的價值應該不大….至少D8p已經讓人感受到G8x系列縮小上是有瓶頸存在的。
此外,假設D8x無法支援DX10.1的話,那D9x系列會有必要實作DX10.1。
從這些點考量,再回頭考慮上面寫到的3TFLOPS的部分,我相信D9x會使用4D、並且把空出來的乘載能力拿來改善GPGPU等其他非繪圖性能部分的要求。
不過,像cho就比較支持1D是G8x主要的價值的說法,所以認為1D還會持續相當長一段時間,那麼上面兩點的前者就會跑出來….那麼就會出現任何狀況都維持D8E兩倍性能的超強大GPU了。就算折衷一點的話,也應該會有1.5倍數量的TPC、1.3倍時脈的設定。
結論來說,如果NVIDIA不再用1D而用4D的話,上面這個性能(3TFLOPS)只要192個4D MAD跑2GHz其實就可以達到….不過回頭用VLIW的話compiler也會問題多多,如果考慮compiler短期內性能可能與G92 GX2也不會差太多,意義不大。
但是55nm是half node,乘載能力應該不會差太多,真的要做個兩倍大有困難….用傳統的規模1.5倍、時脈1.3倍來做的話又會耗電量會大幅提升….
總之這個3TFLOPS的數字很微妙,畢竟當初說G92單顆1TFLOPS、或者是總計8TFLOPS的計畫最後好像都沒有達到(至少D8E好像很難講是當初的G92,而且D8E也應該很難”再GX2化”),或許對現在這個數字也不該太認真。
[EDIT]
第二篇補上,裡面提到「Intel認為CELL失敗的原因是因為沒把SPE做成POWER/PowerPC ISA」。
不過他們萬事都想用電晶體硬幹解決的心態老實說是不太可取….如果今天SPE具備完整的PowerPC ISA,我很懷疑現在SpursEngine的耗電量會不會根本就是無法接受的巨量。
更別提Larrabee裡面可是x86….
不過實話是從普及觀點來說,如果OS看起來就是一堆一模一樣的x86,只是用編號來分哪些core做哪些事情的話,那的確是單純許多。
另一個問題是這篇訪談裡面有下面的問題發言:
「我々が望んでいるのは、Intelアーキテクチャ(IA)の力でグラフィックスプログラミングを実現することだ。しかし、IAと言っても、データ並列アーキテクチャのパフォーマンスを実現する点に、Larrabeeのアーキテクチャ上の新しさがある。
どうやってIA互換性を維持しながら、(データ並列アーキテクチャの)パフォーマンスを実現するか。その点についての基本的なアプローチに、我々とAMD/ATIとの違いがある。簡単に言えば、彼らは、CPU+GPUワールドを目指している。我々はCPUワールドに、膨大な浮動小数点演算機能を加えることを目指している」
也就是說,雖然AMD仍然希望能把GPU的shader與CPU結合,然後把GPU的ISA整合進SSE5的指令等等來做到較密的結合,但是基本上GPU還是做為co-processor來運作,硬體實作上也還是具備GPU的特性;但是Intel就是要完完全全用CPU,而且是各種不同的CPU來解決平行處理的問題。
所以極端一點來說的話,FUSION加上去的GPU是不能跑OS,和SPE一樣只能當輔助處理器;但是Larrabee上頭的IA CPU和其他Intel的CPU一樣可以跑OS….。
「Larrabeeは、広いレンジのコンピューティング問題を狙っている。スループットコンピューティング、ビジュアライゼーション、財務分析、 HPCなどだ。しかし、今回発表したのは、最初の製品はグラフィックスになるということだ。ゴールは広いレンジのワークロードをカバーする製品群だが、最初の製品はグラフィックスだ」(Gelsinger氏)
從訪談內容來看,Intel真的打算用CPU來當GPU用了。
由於x86的關係,和現行的GPU延伸產品相比Larrabee會有極大的overhead存在,這會造成效率上的落差,所以後藤老爹認為如果把Larrabee視為”有附加功能的Graphic”的話,那麼這時候把先前發生的Havok收購考慮進去就會變得合理。
當然這種硬幹的做法能夠持續到什麼時候,還有用自家製程乘載能力與經濟能力當後盾硬幹的諸多浪費行為到底能不能把其他競爭對手都拖死,就有待時間證明了;或許Intel真的有辦法拖到其他對手(A/N)得全部結合起來和他對抗也說不定。