http://pc.watch.impress.co.jp/docs/2007/0611/kaigai364.htm
Intelが進める、32コアCPU「Larrabee」
http://pc.watch.impress.co.jp/docs/2007/0618/kaigai365.htm
IntelのLarrabeeに対抗するAMDとNVIDIA
http://pc.watch.impress.co.jp/docs/2007/0620/kaigai366.htm
GPUライクな構造が想定されるIntelの「Larrabee」
http://www.impresswatch.com.cn/itwatch/441/3395441.shtml
對岸對第二篇的授權翻譯。
後藤老爹該不會是手上準備好資料等著其他網站講吧…. XD
整理起來如下:
1. Larrabee是Many-Core系列的第一個產品,歸類於”High-Thoughtput CPU系列”,也就是說相對於GPU廠商來看的話,就是”針對GPGPU市場、然後兼具GPU功能”的結構。
所以有Larrabee卡的Intel PC,就是個system-level的Many-Core結構,想成只有SPE的CELL卡,裝進PowerPC970之類的一般PowerPC就會比較單純。
日後Larrabee的小CPU會再整合進一般Intel x86裡面,這時候的x86就會兼具高速高thoughtput與複雜OOOE執行能力….. 然後都是x86。
2. 一開始會投入32core、一年之後會以製程微縮版投入48 core版,當然也有從32core版關閉部份核心所衍生的24core版。
不過這邊就會出現一個問題:這時候到底怎麼算core數量?是以Vector指令的發射單元來算、還是每個SIMD ALU來算?
尤其是4thread、16D Vector之類的部份,這很可能會大幅影響core數量的算法。
3. Pat Gelsinger表示”2008年會有Larrabee的運作demo”,還有其他消息來源指出”2008年底~2009年初”會有正式製品。
不過因為前述,這個產品屬於CPU的特性,需要軟體支援,沒辦法像GPU一樣一出來就有某個DirectX版本來配合運作,所以這個產品”小試身手”的意味濃厚。
4. 開發的單位是開發P4的奧勒崗。似乎是半數人力做Nehalem、半數做Larrabee的樣子。
照2002年的說法,2004年時會推出Nahalem的關係,現在就可以看得出來當年到底發生什麼事情,讓它大幅延遲。
5. 以目前來說Larrabee最大的特性是堅持x86 ISA。以Pat Gelsinger當年在講Many-Core的時候的說法,就是”種類不同但是ISA相同的core”混合處在同一個CPU die上面,針對不同特性的code以不同結構的core執行,並且有數個core共享的Cache,以提高可程式化的性能。然後會有特殊用途使用的單元以及需要的I/O介面。所以Larrabee(再強調一次)不是以GPU來執行GPGPU工作的產品,而是針對(GPGPU這些)特殊用途特別設計的Intel ISA processor,可以(比GPU)提供更好的通用性。也就是說它不是GPU而是CELL。
倒是說到GPU,Intel的GPU team本來也有計畫推出自己的獨立GPU,不過因為沒什麼風聲,有可能已經取消了。
6. Larrabee的用途是針對所有高平行度的工作,所以”當然還是包含繪圖”,只是因為並不專精(很可能沒有繪圖專用的ASIC),連會不會以GPU產品的形式出現都不知道。
Larrabee在繪圖面的表現完全要看它到底具備了多少比例的繪圖用單元,畢竟Raster、Texture這些動作如果都用CPU來處理的話,實在效率太低。
雖然做了相當長時間的研究,不過總之目前來說Larrabee目前計畫中似乎並不重視繪圖。所以最可能的用途還是HPC。(如果對遊戲的話,很可能是PPU + TCP offload卡市場?)
7. CPU與GPU對ISA的態度是差異很大的CPU有大部分的狀況都會維持ISA的一貫性,但是GPU因為通常都會提供runtime來當中介,所以不僅廠商之間沒有維持ISA相容的狀況,連廠商的不同世代產品都很有可能出現ISA的變化,如G7x與G8x之間ISA就有很大的變化,GPU廠商也因此通常不會公開GPU的ISA。
所以Intel既然堅持x86 ISA,就可以視為其實是以CPU的觀點來看待Larrabee產品,ISA公開、而且與主CPU相容。當然這點很單純,因為x86 ISA的資產非常有價值,Intel Many-Core結構的最基本戰略,就是以x86 ISA當後盾。
Intel認為,平行處理本身已經夠複雜了,視不同處理用途分配到不同性質的核心更加複雜,在這些複雜到爆的東西上,加上不同ISA的話實在會造成programmer們太大的負擔。當然異種(ISA)混合短期內可能會很有效,但是隨著ISA變化,軟體資源會越來越難繼承,所以Intel不打算混合異種ISA。要注意的是Intel的看法裡面,所謂的同異種指的是ISA不同,而不是CPU本身的實作取向不同。所以只要OS能辨認不同種類的相容Core,就可以簡單的管理整個CPU資源。
—以下第二篇—
8. NVIDIA和AMD其實都差不多在五年以前,就幾乎同時開始號召GPGPU的用途。而Larrabee的開始時間則差不多是四年前。也就是大家幾乎是相同的時間點開始研究的。
對GPU廠商而言,Larrabee有可能會一口氣搶走GPGPU這個廣大的市場,當然是非常大的問題。而且NVIDIA還有CPU要是整合GPU功能的話,GPU廠商將無法在中低階市場獲利的絕大危機,所以如果它只專注於繪圖功能的話,很可能將會無法繼續存活下去。所以為了增加GPU存在的價值,NVIDIA有必要賦予GPU更多的用途,自然GPGPU就成了重點,而Larrabee也成了最大的敵人。
9. 在AMD的眼中,Larrabee是個很意外的存在。因為他們的情報指出Larrabee是個比較接近GPU的產品。(夾雜Dave Orton訪談)
他們在最後終於知道,Larrabee”以高平行度的小core來「順便」處理繪圖工作”,剛好與他們”整合GPU core的設計來順便處理高平行度的工作”相反;當然Larrabee這樣一來就很有可能在繪圖面的競爭力不足。
然後AMD則是手上有繪圖單元,所以部分的能力有競爭力;那AMD的高平行度工作面的處理能力呢?這就是爭論的重點了。
AMD的人認為以x86的結構很難設計出有效率的高平行度單元,所以從GPU的設計取材,想把它整合到x86的ISA裡面;但是CPU與整合進來的GPU本身則互不影響設計,GPU裡面不會有CPU的ISA,以維持GPU本身的運作效率。
除了先前推出的CTM,AMD在R600推出時,也推出了AMD Compute Abstraction Layer(CAL)來讓CPU與GPU之間能做更仔細的融合,就是打算配合這一點。
10. NVIDIA的部分,則是認為既然手上沒有x86 ISA相關的IP,自然不會採行與Intel/AMD這樣有x86 IP的廠商相同的戰略。NVIDIA目前的打算則是繼續以手上的設計來做出性能最佳的GPU、然後處理在這個設計下可以跑出最佳效能的應用。也就是既然做為GPU廠商,只能把GPU做到終極的境界,然後以此為出發點。今年(2007)年底NVIDIA就將會推出支援64bit FP、單晶片1TeraFLOPS的產品。
—以下第三篇—
11. Larrabee的性能可能達到單晶片1TFLOPS,不過包含G9x、4PE版CELL其實也都有同等的能力。
12. Larrabee由於是CPU,時脈有很大的可能高過ASIC,IDF06的時候Intel發表的研究結果指出,相比於OOOE、In-order的小型core可以在1/4的面積下(在適當的程式下)達到同等的thoughtput,所以相對起來同等die size的性能等於可以達到4倍,考慮4GHz的話,等於可以達到100GFLOPS的程度。這自然是高過ASIC(GPU)很多,不過要讓Larrabee達到1TFLOPS的目標來說還嫌不足,所以Larrabee可能還要比上述的In-order core還要單純。原理上來說,如果以45nm的話,Larrabee有機會用現有(65nm的)Core2Duo程度的die size,達到TeraFLOPS的性能。
這時候就會發現,為了避開ASIC的問題,提高ALU的單位性能,G80引入倍速shader有多麼重要。
13. 前面提過Larrabee的”16D(16way)”單元的結構會大幅地影響core數量,如果真的是4個4D vector unit連結在一起的話,那兩種不同的算法立刻會出現4倍的落差。過去疑似Intel的Larrabee基礎研究資料中,就出現了16way(512bit)的Vector Unit。可是如果真的是4D vector x4的話,那遇到4個1D scalar的時候很有可能會因為in-order的關係造成大量浪費…. 和NVIDIA與AMD目前的結構相比,Intel Larrabee畢竟還有太多謎團的關係,這部分只能等待時間解明。
14. threading的部分Larrabee目前看來比GPU的能量少得多,GPU目前的threading控制大多是32~64個thread為一個切換單位(GPU的說法就是batch or warp),對Larrabee的16way來說,可能就會變成4cycle的切換;但是以x86、4GHz程度的高頻來說,ALU能夠在4個cycle內執行完指令的機會就變得比較小,只好和R600與G80一樣採用多組warp互相切換的做法;可是Larrabee目前的說法是硬體thread只有4個,和GPU準備了數十到近百的batch等待切換相比,顯然有很大的落差,所以Larrabee的設計應該與GPU廠商這部分的設計有落差。
但是GPU廠商這部分的設計與繪圖處理有很大的相關性,尤其是繪圖部分由於存取的資訊(材質)大、cache miss的場合明顯較多,所以大部分狀況都有可能直接存取記憶體,自然會需要較多的thread來隱藏記憶體造成的延遲。
相比之下Larrabee有內建相當的cache、較少的thread,因為通用處理會有比較大的機會產生資料的區域性、並且減少記憶體的存取。相比之下就比較朝向通用處理而非繪圖處理。
以上是目前後藤大叔以還非常少的洩漏資訊為基礎對Larrabee的推測。