Intel GPU野望:從遊戲到資料中心

作者 : 黃燁鋒,EE Times China

鎖定資料中心的Xe-HPC架構GPU晶片Ponte Vecchio,被Intel形容為技術難度「堪比登月」的晶片,這也是市場首見的MCM (Multi-chip Module)/chiplet形態的GPU晶片…

伴隨半導體產業發生轉向的當下:人們愈發關注更偏專用的運算方向,甚至有人提出未來CPU這類通用運算處理器會走向邊緣化,或者越來越作為單純的控制器存在。GPU、NPU、IPU等各類XPU如今正大放異彩。所以這些年英特爾(Intel)的XPU策略也在做大肆的擴張,在CPU之外透過收購、研發快速開展了不同的處理器產品線。

 

Intel資深副總裁Raja Koduri

 

GPU即Intel現在的一個發展重點,不僅是Core CPU產品線中近兩年兩度大幅加強了核心顯卡性能(Xe-LP),以及前不久Intel正式發佈遊戲GPU品牌「ARC」。一年多前,Intel資深副總裁Raja Koduri就在Twitter發了一張Ponte Vecchio (針對資料中心的GPU)照片,引發無數猜想。

今年的Intel Architecture Day上,更多有關Intel GPU的產品資訊揭開面紗。這次Intel主要談到了針對遊戲玩家的Xe-HPG架構Alchemist GPU,以及鎖定資料中心的Xe-HPC架構GPU晶片Ponte Vecchio。後者被Intel形容為技術難度「堪比登月」的晶片,這也是市場第一次見到MCM (Multi-chip Module)/chiplet形態的GPU晶片。

雖然以前Intel曾多次嘗試過進入GPU領域,但這次恐怕是動作幅度最大、計畫最長遠的一次。借著這次機會,也能看看作為GPU領域的新手,Intel是否有機會在兩強爭霸(以及資料中心Nvidia一家獨大)的局面下有所斬獲;另外也能從中窺見當代GPU的思路大致會是如何。

新架構Alchemist採台積電N6製程

先前Intel宣佈Xe架構GPU時,提出以一個架構做彈性化擴展,來實現GPU產品覆蓋各個領域,包括低功耗平台、遊戲、工作站、資料中心等。其實在GPU領域裡,同一種架構的規模化縮放也是常態。Xe先前在規劃上有Xe-LP、Xe-HP、Xe-HPC之分,針對不同群體(下圖):

 

 

這次Architecture Day上重點之一的Xe-HPG,是指高效能遊戲(high performance gaming)。從Intel這次的介紹來看,不同的Xe架構差別也可能比較大,這次新Xe-HPG架構Alchemist的GPU,就和先前整合在Core處理器內部的Xe-LP架構GPU有很大不同;或者說Xe-HPG GPU並不單純只是Xe-LP GPU的規模擴大版。

首先是在GPU構成的基本單位上,Intel決定將不再採用之前「執行單元」(EU)的說法——原本過去談Intel的核心顯卡,都用多少個EU來表示其規模——如行動版11代Core,其上最多有96EU的核心顯卡。Intel表示,之所以拋棄EU這個說法,是因為「EU數量變得太大,難以做參考,且演進變化令其難以做比較」。

 

 

所以這次Intel導入一個新的GPU構成基本單位:Xe核心(Xe-Core)。Xe核心包括算術單元、cache、load/store邏輯單元。算術單元部分包含一般的向量引擎,以及加速卷積和矩陣運算的AI引擎。筆者感覺Xe核心在切分細微性上,還是比EU更大,並靠近subslice。

對於Xe-HPG而言,Xe核心內部包含了16個向量引擎和16個矩陣引擎,如上圖所示。一個向量引擎每週期處理256bit資料,16個一起似乎與Nvidia Ampere微架構的SM單位吞吐類似。

Matrix Engines矩陣引擎又被Intel稱為XMX (Xe Matrix eXtensions),結構上也就是傳說中的脈動陣列(systolic array)。XMX在遊戲方面對XeSS (Xe Super Sampling)這類超解析度之類需求AI運算力的特性是有價值的(XeSS類似於DLSS),Xe核心的矩陣引擎每週期處理1,024bit資料,轉換成常見的inference操作也就是128 INT8。

Nvidia GPU也有配套的Tensor core,所以Intel的XMX也算是跨進產業的主旋律。不過Nvidia Tensor core的配置並沒有Intel這麼激進,Intel做到每個Xe核心都具備XMX,似乎Intel對AI的未來比Nvidia還看好,AMD不知作何感想,這只是遊戲GPU…

 

 

多個這樣的Xe核心就構成了所謂的渲染切片(render slice)。Alchemist的一個render slice包含了4個Xe核心——當然除了Xe核心外,還配套了其他渲染固定功能單元,有4個光線追蹤單元、4個紋理採樣器(sampler),以及幾何、光閘化單元,和畫素後端(實現8 pixels/clock的吞吐)。在slice層面,Xe-HPG核心的實施細微性似乎比以前的Xe-LP更細,包括Xe核心數量及固定功能單元的配置。

Intel特別強調Alchemist為DirectX 12 Ultimate設計,所以支持可變著色率(VRS) Tier 2,mesh shading、sampler feedback,當然還有光線追蹤(DirectX、Vulkan)。Intel提到,這些光線追蹤單元「旨在加速光線遍歷(ray traversal)、包圍盒相交(bounding box intersection)和三角形相交運算」。這應該是比較常規的光線追蹤專用硬體設計思路,其性能具體是什麼樣,還是要等將來的產品問世才能瞭解。

 

 

到整個GPU層面,也就是把這些slice組合起來,透過Memory Fabric將這些slice連接到共用L2 cache。在配置方案上,最多可以連8個slice,完整的GPU前端還會有個全域dispatch處理器,進行具體的任務分發。構成GPU的其他組成部分,比如顯示、媒體引擎等大概都要等到具體產品問世的時候,才會公佈實際規格。

 

 

到產品層面,Alchemist GPU究竟是何配置,其實還是個未知數。不過其最大可擴展方案應該會比Xe-LP核心顯卡和之前買不到的DG1 (Iris Xe Max),在性能方面高出許多;而且XMX、光線追蹤單元之類的功能跟進上,也表現出先前的DG1只是練手之作。

Intel特別提到,與Xe-LP (DG1)相比,Xe-HPG在架構、邏輯設計、物理設計、製程改進、軟體演進等各方面的努力,實現了運作頻率與每瓦性能各1.5倍的提升。尤其頻率提升表現為同電壓下,頻率的1.5倍提升。考慮加上更大的規模(例如用8個slice),則性能比DG1有數倍提升應該也不是問題。

談到製程改進,Alchemist GPU採用台積電的N6製程製造——也就是先前N7製程的一個改款。Alchemist因此成為Intel的IDM 2.0計畫施行的第一批產品,意味著IDM 2.0的推進似乎還蠻順利。以Alchemist產品問世的時間點來看(2022年第一季),N6製程的GPU產品也會有一定的優勢;先前Xe-LP核心顯卡和DG1採用Intel 10nm製程。

雖然Intel未曾透露最終產品的諸多配置細節,比如說選配多大顯示記憶體,頻率具體是多少,以及類似光線追蹤單元性能水準如何等。不過就架構層面的這些資訊,以及N6製程在GPU製造方面的略微領先,都使Intel的遊戲GPU的準備工作看來十分到位。

 

 

Intel也提供ARC家族GPU未來發展藍圖,代號為Battlemage、Celestial、Druid的新架構都在開發中,說明在造遊戲GPU這件事上,Intel這次仍相當認真看重。除了GPU本身,有關軟體及開發生態的問題也值得一提,畢竟Intel算是這個領域的新手:對遊戲開發者而言,成熟和簡易的生態是確保顯卡最終真正有銷路的基礎。

Intel在會上提到的,主要包括對於DirectX 12 Ultimate新特性的全面支持,包括光線追蹤、VRS、mesh shading、sampler feedback,據說Intel過去這些年一直在和微軟合作對新功能做打磨。另外,Intel也與Epic合作,「現在我們的獨立GPU能夠運行虛幻引擎5,」Intel說,「產品發佈時,我們還將更新我們的使用者控制項協助玩家利用AI輔助虛擬攝影機、遊戲高光時刻捕捉、直播拍攝等技術。這些技術將使用我們的高性能與高品質的硬體編碼器。」

 

 

在特性支持上尤為值得一提的是XeSS,這是個類似於DLSS超解析度技術,即將低解析度的畫面通透過深度學習,合成高解析度渲染品質的畫面。XeSS和DLSS更接近(而不是AMD的FSR)的原因是,Intel提到XeSS原理是藉由畫面中的臨近畫素,以及過去影格進行運動補償,來重建子畫素細節。該過程需要透過神經網路進行,和Nvidia的二代DLSS比較類似。

這種操作顯然就是由Xe核心中的XMX進行硬體加速。Intel在會上也演示了1,080p到4K畫面,與原生4K解析度渲染的比較,效果看起來還不錯。似乎在光線追蹤之外,超解析度技術也已經成為GPU廠商的技術必爭之地。

 

 

Ponte Vecchio——第一個MCM GPU

GPU未來的發展方向極有可能是走向chiplet式的MCM (multi-chip module)形態方案。只不過GPU要應用MCM,仍然有不小的技術難度,AMD和Nvidia先前都在這方面做過努力。

現在看來最早推MCM型GPU的公司,似乎是Intel。亦即Intel這次花了相當大篇幅解釋、採用Xe-HPC架構、鎖定資料中心、主要針對AI和HPC工作負載的Ponte Vecchio。現在針對資料中心的GPU、FPGA、AI晶片產品,在發佈會上都喜歡用PPT來比較Intel Xeon處理器。在運算力上用更偏專用的晶片來比較通用處理器,是不夠公平的,不過從產業走向來看,Intel也應該早就發現,CPU在資料中心的重要性已經大不如前。即便這次的Sapphire Rapids新增了AMX,以及各種專門的加速單元,資料中心作為Intel的主場,推更專用的晶片也是勢在必行。

 

 

Koduri也特別談到了這一點。所以Xe-HPC或者說Ponte Vecchio的使命便是極大程度的填充這其中的空白。上圖的藍色曲線表示Intel處理器,綠色表示「業內最好」(Nvidia?),在HPC、AI、記憶體頻寬方面都存在著歷史上的差距(也就是之前每逢處理器晶片,必被輾壓的局面)。而Xe是Intel決心領先產業的GPU架構,就來看看Intel的Xe-HPC架構,與Ponte Vecchio晶片。

 

 

Xe-HPC也以Xe核心為GPU的基本構成單元,不過在Xe核心構成上有差別。在Xe-HPC上是8個向量引擎和8個矩陣引擎(XMX),但從單引擎可處理的資料來看,其量級是不同的。Xe-HPC核心中的單個向量引擎每週期可處理512bit資料——是Xe-HPG的2倍;而每個矩陣引擎具「8深度脈動陣列」,每週期處理4,096bit資料(8組512bit寬向量運算),則是Xe-HPG的4倍。顯然Xe-HPC核心極大加強了XMX,似乎比Nvidia在AI算運力上明顯下足功夫。

Xe核心構成大體與Xe-HPG一樣,即主要是ALU、cache、load/store邏輯單元。Intel提供了一些更具體的數字,包括load/store操作是每週期fetch 512bit資料——應該比Xe-HPG要寬;與此同時L1-D cache尺寸為512KB,Intel表示這是產業內最大,「L1 cache也可透過軟體配置作為暫存區,即Shared Local Memory (SLM) 。」

向量引擎對於資料格式每週期的操作支援,包括了256 FP32、256 FP64、512 FP16;XMX則為2048 TF32、4096 FP16、4096 BF16、8192 INT8。Intel特別強調,Xe核心能夠共同發射(co-issue)指令,「超越這些單一的每個時脈週期運算次數」。Intel函式程式庫和核心利用這項特性可實現Xe核心更高的性能。

 

 

多個Xe核心組成slice。一個Xe-HPC的slice是由(最多)16個Xe核心構成,比Xe-HPG規模大出了很多,總共8MB L1 cache。Xe-HPG圖形運算的固定渲染功能單元,每個核心依然搭配1個光線追蹤單元,所以一共是16個光線追蹤單元,這對專業視覺應用會有價值。

Hardware Context能夠讓GPU並存執行多應用,「不需要開銷比較大的基於軟體的上下文切換。這也極大增加雲端GPU的利用率。」Intel並未說明硬體上下文切換的具體實現。

 

 

多個slice理論上應該構成了完整的GPU,不過Intel在此處稱其為stack。似乎在整個GPU晶片上是一片裸晶,或者一片chiplet的概念。每個stack具體是4個slice:也就是說一個stack內(最多)會包含64個Xe核心、64個光線追蹤單元、4個Hardware Context。和Xe-HPG一樣,stack這一級也就有了L2 cache (容量未知)。另外,作為資料中心的GPU,週邊要擴展出4個HBM2e控制器,還有「8個Xe Link」——是Intel專用於GPU之間連接的方案。媒體引擎部分,Intel依然沒有細說其規格,Xe Memory Fabric連接了Copy Engines、媒體引擎、Xe Link模組、HBM、PCIe組成部分。

 

 

MCM的魔法在Intel多stack方案中實現。用Intel的EMIB封裝技術把兩個stack (也就是兩個chiplet/裸晶)連起來——EMIB封裝技術是一種不同於台積電CoWoS用interposer矽仲介進行裸晶與裸晶之間2.5D封裝的方案,而是用嵌入在封裝基板中的silicon bridge,以更低的成本實現裸晶之間的互連,在效率上又會顯著的高於直接從封裝基板走線的方案。

Intel表示,「我們將每個stack上的Xe Memory Fabric直接連起來,這樣就在stack之間實現了統一一致性儲存,這對軟體很重要。」上圖展示了2-stack方案,並不清楚這種彈性擴展方案的延遲表現如何,不過這樣的堆料方法的確能夠達成顯著更高的性能水準。

 

 

 

在多stack構成GPU以後,對資料中心而言,就涉及GPU之間的連接。Intel對此的方案是Xe Link,「支援load/store,大量資料移轉和同步語義;包含一個8 port switch,不需要額外的元件,就能在一個節點內實現至多8個GPU完全互連。」Intel表示,OAM-Universal BaseBoard加速模組設計規範下,對AI一類大型負載普遍可以用8個GPU的方案。不知道互連效率如何,Intel也沒有在會上公佈頻寬等方面的具體資料。

Ponte Vecchio這枚晶片被展示出來的時候,筆者對其晶片尺寸表示震驚:其上超過1,000億電晶體,部分用到了台積電N5製程,還記得之前的遊戲GPU用的是台積電N6嗎?不過事實上,基於2.5D/3D封裝的不同chiplet用上了不同的製造製程,據說這一顆晶片總共涉及5種不同的製程。

 

 

這顆晶片的開發,不只是Xe核心及其構成方法,還涉及到各種新架構和新設計,乃至新工具的開發,「我之前從未在一款產品中做過這麼多的新東西,Ponte Vecchio是我在30年的晶片開發生涯中開發的最複雜的晶片。」Intel Ponte Vecchio首席架構師Masooma Bhaiwala說。最終目標是讓它跑起來「就和monolithic晶片一樣」,畢竟這是MCM/chiplet式的設計。

 

 

Intel把這枚晶片的構成切分為不同的「tile」,有compute tile、rambo tile、Xe Link tile、HBM tile、Base tile等。Intel還特別提到,除了以EMIB的封裝方式連接HBM記憶體(以及前面提到Xe-HPG本身也在stack之間做EMIB的裸晶-to-裸晶連接),Ponte Vecchio也用了Foveros 3D封裝方案。加上不同tile用上了5種製造製程,有的是台積電製造,有的是Intel自己造,這套方案的複雜度也就可想而知了。

從這張圖似乎很難推斷究竟是哪個tile疊在哪個tile上面。Intel在此也特別分享了有關這顆晶片實現上的一些技術挑戰,比如由於tile的多樣和複雜性,Foveros的位置、floorplan需要在更早期的階段就定稿。Ponte Vecchio晶片的Foveros連接數也比以往Intel的設計高出2個數量級。另外,測試驗證也因此很複雜,所以需要即時開發出更多的工具、方法等。

 

 

這顆晶片上的Compute tile,也就是運算部分屬於晶片核心,每個tile包含8個Xe核心,總共4MB L1 cache (似乎和前面談到Xe-HPC可配置每16個Xe核心構成1個slice、8個slice構成一個stack的方法不大一樣,是某種彈性化方案?),Compute tile是用台積電N5製造。

做Foveros 3D封裝時,這部分tile的bump間距是36μm。從Intel以前公佈的資料來看,36μm的間距應該是第二代Foveros,相比初代的連接密度翻倍。所以說Compute tile事實上同時濃縮了台積電最先進的製程,和Intel最先進的封裝製程,也可算是IDM 2.0戰略的大成之作。

 

 

Base tile部分是負責連接,基於Intel 7製程(也就是之前的10nm Enhanced SuperFin),其中包括各種I/O和高頻寬組成部分,包括L2 cache,也涉及到PCIe Gen 5、HBM2e、(tile-tile的)MDFI高速互連、EMIB橋等。Intel表示這個base tile是Ponte Vecchio晶片上存在最大設計挑戰的一部分。另外還有Xe Link tile,也就是負責多GPU互連的部分,是基於台積電N7製程,最高90G的SerDes支持。

 

 

Ponte Vecchio整體上,A0晶片(RTL開發完成後的首個矽流片?)所能達成的性能水準包括>45 TFLOPS的單精確度運算力,>5 TBps的Memory Fabic頻寬,以及>2 TBps的連接頻寬(應該是指內部tile間的高速連接)。這組數位表明各部分tile在實現上比較「健康」。

Koduri有稍稍提到Ponte Vecchio GPU實際性能表現,「基於Ponte Vecchio和Sapphire Rapids的ResNet-50推理性能推圖,超過每秒43,000張圖,超過市面上能見到的標準。而在訓練方面,我們還處於早期階段,初步測試顯示Xe-HPC的運算、記憶體和互連頻寬已經具備訓練最大型資料集和模型的能力。我們現在看到Ponte Vecchio性能是每秒超過3,400張圖片。」

 

 

Ponte Vecchio最終形態自然是PCIe板卡,外加Xe Link互連bridge,Xe Link把多個GPU連起來。Koduri表示OEM合作夥伴會提供多種加速運算系統——比如像上圖,系統方案中配套的CPU當然是Sapphire Rapids。

oneAPI——Intel的XPU野心擴張計畫

Intel的XPU策略強調同一套開發生態,也就是Intel的oneAPI——這個軟體平台的主旨是用一套API實現不同硬體性能埠的對接。Intel作為多種不同處理器類型的製造商,而且在CPU市場仍佔據統領地位,推行這套生態還是有一定的優勢;雖然當前GPGPU也還是Nvidia的主場。

Intel在這次會上說軟體發展者以往「必須用OpenCL、CUDA等不同的專業語言重寫需要加速的程式碼。」所以oneAPI提供「開放、基於標準、跨架構、跨向量的統一軟體堆疊。」不過oneAPI事實上仍然是比較年輕的平台,首個版本發行至今時間也不久。

 

 

oneAPI指定了通用的硬體抽象層(HAL)、資料平行程式設計語言,以及解決數學、深度學習、資料分析和視頻處理領域的各種性能庫。比較值得一提的是「已經有針對Nvidia GPU、AMD GPU和Arm CPU的DPC++和oneAPI函式程式庫實施方案。」Intel的說法是,「獨立軟體開發商、作業系統開發商、終端使用者和學術界已經在廣泛採用它。」

Intel公佈目前多個領域的軟體發展商已經推出了超過300個基於oneAPI統一程式設計模型的應用;現有開發者超過20萬;而且「我們有超過80個關鍵HPC應用、AI框架和中介軟體,採用了oneAPI,從現有僅基於CPU、或者是基於CUDA的GPU實施方案上快速移植。」

 

 

除了AI以外,oneAPI也有Rendering Toolkit、IoT Toolkit、HPC Toolkit、BASE Toolkit之類的各種構成。比如Rendering Toolkit中可做光線追蹤的組成部分(Embree光線追蹤庫),Intel介紹,oneAPI Rendering Toolkit能應用於協力廠商處理器,如蘋果(Apple)M1。

不過感覺這些已能表現出Intel在生態建構上,入侵競爭對手市場的野心。先前Intel曾表達過oneAPI的「目標」是實現開放、跨平台、跨架構的開發與執行,其推進動作和速度還真是相當快。

本文原刊登於EE Times China網站

 

 

 

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論