為什么是GPU?
三十年前,CPU 和其他專(zhuān)用處理器幾乎處理所有計算任務(wù)。那個(gè)時(shí)代的顯卡有助于加快 Windows 和應用程序中 2D 形狀的繪制速度,但絕對沒(méi)有其他作用??爝M(jìn)到今天,GPU 現已成為整個(gè)行業(yè)最具主導地位的芯片之一。
(資料圖)
具有諷刺意味的是,圖形芯片硬件的唯一功能的日子已經(jīng)一去不復返了,圖形高性能計算和機器學(xué)習在很大程度上依賴(lài)于不起眼的 GPU 的處理能力。與我們一起探索這款單芯片如何從一個(gè)不起眼的像素推動(dòng)器演變成一個(gè)強大的浮點(diǎn)計算引擎。
一開(kāi)始CPU統治一切
讓我們首先回到 20 世紀 90 年代末。高性能計算領(lǐng)域,無(wú)論是使用超級計算機進(jìn)行科學(xué)研究、標準服務(wù)器上的數據處理,還是工作站上的工程和設計任務(wù),都完全依賴(lài)于兩種類(lèi)型的 CPU:為單一目的而構建的專(zhuān)用處理器或現成的處理器,AMD(AMD.IS)、IBM(IBM.US) 或 Intel 的貨架芯片。
以 ASCI RED為例。1997 年,它是最強大的超級計算機之一,由 9,632 個(gè) Intel Pentium II Overdrive CPU 組成(下圖)。每個(gè)單元的運行頻率為 333 MHz,該系統的理論峰值計算性能略高于 3.2 TFLOPS(每秒萬(wàn)億次浮點(diǎn)運算)。
由于在本文中經(jīng)常提到這個(gè)指標,因此值得花點(diǎn)時(shí)間來(lái)解釋它的含義。在計算機科學(xué)中,浮點(diǎn)數(或簡(jiǎn)稱(chēng)浮點(diǎn)數)是表示非整數值的數據值,例如 6.2815 或 0.0044。整數值(稱(chēng)為整數)經(jīng)常用于控制計算機及其上運行的任何軟件所需的計算。
浮點(diǎn)數對于精度至關(guān)重要的情況至關(guān)重要 - 特別是與科學(xué)或工程相關(guān)的任何事情。即使是簡(jiǎn)單的計算,例如確定圓的周長(cháng),也至少涉及一個(gè)浮點(diǎn)值。
幾十年來(lái),CPU 一直擁有單獨的電路來(lái)對整數和浮點(diǎn)數執行邏輯運算。在上述 Pentium II Overdrive 的情況下,它可以在每個(gè)時(shí)鐘周期執行一次基本浮點(diǎn)運算(乘法或加法)。理論上,這就是為什么 ASCI Red 的峰值浮點(diǎn)性能為 9,632 個(gè) CPU x 3.33 億個(gè)時(shí)鐘周期 x 1 次操作/周期 = 3,207,456 百萬(wàn)次 FLOPS。
這些數字是基于理想條件(例如,對易于放入高速緩存的數據使用最簡(jiǎn)單的指令)預測的,并且在現實(shí)生活中很少實(shí)現。然而,它們可以很好地表明系統的功率。
其他超級計算機也擁有類(lèi)似數量的標準處理器——勞倫斯利弗莫爾國家實(shí)驗室的Blue Pacific使用了 5808 個(gè) IBM PowerPC 604e芯片,洛斯阿拉莫斯國家實(shí)驗室的Blue Mountain(上圖)則使用了 6144 個(gè)MIPS Technologies R1000。
為了達到萬(wàn)億次浮點(diǎn)運算級別的處理能力,需要數千個(gè) CPU,所有這些都需要大量 RAM 和硬盤(pán)存儲的支持。過(guò)去是這樣,現在仍然是,這一切歸因于機器的數學(xué)要求。當我們在學(xué)校第一次接觸物理、化學(xué)和其他學(xué)科的方程時(shí),一切都是一維的。換句話(huà)說(shuō),我們使用一個(gè)數字來(lái)表示距離、速度、質(zhì)量、時(shí)間等。
然而,為了準確地建模和模擬現象,需要更多的維度,并且數學(xué)上升到向量、矩陣和張量的領(lǐng)域。它們在數學(xué)中被視為單個(gè)實(shí)體,但包含多個(gè)值,這意味著(zhù)任何進(jìn)行計算的計算機都需要同時(shí)處理大量數字。鑒于當時(shí)的 CPU 每個(gè)周期只能處理一到兩個(gè)浮點(diǎn)數,因此需要數千個(gè)浮點(diǎn)數。
SIMD 加入競爭:MMX、3DNow!和SSE
1997 年,英特爾(INTC.US)使用一種名為MMX的技術(shù)更新了其最初的奔騰系列 CPU ,這是一組利用內核內八個(gè)附加寄存器的指令。每個(gè)都被設計為存儲一到四個(gè)整數值。該系統允許處理器同時(shí)執行跨多個(gè)數字的一條指令,這種方法更被稱(chēng)為 SIMD(單指令、多數據)。
一年后,AMD 推出了自己的版本,稱(chēng)為3DNow!。它的性能尤其優(yōu)越,因為寄存器可以存儲浮點(diǎn)值。又過(guò)了一年,英特爾才在 MMX 中解決這個(gè)問(wèn)題,并在其 Pentium III 芯片中引入了SSE(流 SIMD 擴展)。
隨著(zhù)日歷進(jìn)入新千年,高性能計算機的設計者可以使用能夠有效處理矢量數學(xué)的標準處理器。一旦擴展到數千個(gè),這些處理器就可以同樣出色地管理矩陣和張量。盡管取得了這一進(jìn)步,超級計算機世界仍然青睞舊的或專(zhuān)用的芯片,因為這些新的擴展并不是專(zhuān)門(mén)為此類(lèi)任務(wù)而設計的。
對于另一種快速普及的處理器(GPU)來(lái)說(shuō)也是如此,它比 AMD 或英特爾的任何 CPU 都更擅長(cháng) SIMD 工作。
在圖形處理器的早期,CPU 處理組成場(chǎng)景的三角形的計算(因此 AMD 為其 SIMD 技術(shù)使用這個(gè)名稱(chēng))。然而,像素的著(zhù)色和紋理完全由 GPU 處理,并且這項工作的許多方面都涉及矢量數學(xué)。
20 多年前最好的消費級顯卡,例如3dfx 的Voodoo5 5500和 英偉達(NVDA.US) 的 GeForce 2 Ultra,都是出色的 SIMD 設備。然而,它們的創(chuàng )建目的是為游戲生成 3D 圖形,而不是其他任何東西。即使是專(zhuān)業(yè)市場(chǎng)的顯卡也只專(zhuān)注于渲染。
ATI 售價(jià) 2,000 美元的 ATI FireGL 3 配備了兩個(gè) IBM 芯片(一個(gè) GT1000 幾何引擎和一個(gè) RC1000 光柵器)、一個(gè)巨大的 128 MB DDR-SDRAM 以及據稱(chēng) 30 GFLOPS 的處理能力。但這一切都是為了使用 OpenGL 渲染 API 加速 3D Studio Max 和 AutoCAD 等程序中的圖形。
那個(gè)時(shí)代的 GPU 無(wú)法用于其他用途,因為轉換 3D 對象并將其轉換為監視器圖像的過(guò)程并不涉及大量的浮點(diǎn)數學(xué)。事實(shí)上,其中很大一部分是在整數級別,并且圖形卡需要幾年的時(shí)間才能開(kāi)始在整個(gè)管道中大量使用浮點(diǎn)值。
第一個(gè)是 ATI 的R300 處理器,它有 8 個(gè)獨立的像素管道,以 24 位浮點(diǎn)精度處理所有數學(xué)運算。不幸的是,除了圖形之外,沒(méi)有其他方法可以利用這種能力——硬件和相關(guān)軟件完全以圖像為中心。
計算機工程師并沒(méi)有忘記 GPU 擁有大量 SIMD 功能,但缺乏將其應用到其他領(lǐng)域的方法這一事實(shí)。令人驚訝的是,這是一個(gè)游戲機,展示了如何解決這個(gè)棘手的問(wèn)題。
統一的新時(shí)代
2005年11月,微軟的Xbox 360上市,其CPU由IBM基于其標準PowerPC架構設計和制造,GPU由ATI設計、TMSC制造。這款代號為 Xenos 的圖形芯片很特別,因為它的布局完全避開(kāi)了單獨的頂點(diǎn)和像素管道的經(jīng)典方法。
取而代之的是一個(gè)三路 SIMD 陣列集群。具體來(lái)說(shuō),每個(gè)集群由 16 個(gè)向量處理器組成,每個(gè)向量處理器包含 5 個(gè)數學(xué)單元。這種布局使每個(gè)陣列能夠在每個(gè)周期對 80 個(gè)浮點(diǎn)數據值同時(shí)執行來(lái)自線(xiàn)程的兩條順序指令。
這被稱(chēng)為統一著(zhù)色器架構,每個(gè)陣列可以處理任何類(lèi)型的著(zhù)色器。盡管 Xenos 使芯片的其他方面變得更加復雜,但它引發(fā)了一種至今仍在使用的設計范例。
在時(shí)鐘速度為 500 MHz 的情況下,整個(gè)集群理論上可以為乘法加法命令的三個(gè)線(xiàn)程實(shí)現 240 GFLOPS (500 x 16 x 80 x 2) 的處理速率。這個(gè)數字有一定的規模感,作為對比,十年前的一些世界頂級超級計算機甚至無(wú)法匹敵這個(gè)速度。
例如,桑迪亞國家實(shí)驗室的aragon XP/S140配備 3,680 個(gè) Intel i860 CPU,峰值速度為 184 GFLOPS。到 1995 年,這臺機器已經(jīng)有幾年歷史了,芯片開(kāi)發(fā)的速度很快就超過(guò)了它,但 GPU 也是如此。
CPU 多年來(lái)一直在整合自己的 SIMD 陣列,例如,英特爾最初的 Pentium MMX 有一個(gè)專(zhuān)用單元,用于在向量上執行指令,最多包含 8 個(gè) 8 位整數。當 Xenos 在世界各地的家庭中使用時(shí),此類(lèi)裝置的尺寸至少增加了一倍,但與 Xenos 相比,它們仍然很小。
消費級顯卡開(kāi)始采用具有統一著(zhù)色器架構的 GPU 時(shí),它們已經(jīng)擁有比 Xbox 360 的圖形芯片明顯更高的處理速率。2006 年GeForce 8800 GTX中使用的 英偉達G80(上圖)的理論峰值為 346 GLFOPS,而 2007 年Radeon HD 2900 XT中使用的 ATI R600則擁有 476 GLFOPS。
兩家制造商很快就在其專(zhuān)業(yè)模型中利用了這種計算能力。雖然價(jià)格過(guò)高,但 ATI 的 FireGL V8650 和英偉達的 Tesla C870 非常適合高端科學(xué)計算機。然而,在最高級別上,全球超級計算機仍然僅依賴(lài)標準 CPU。事實(shí)上,幾年后 GPU 才開(kāi)始出現在最強大的系統中。
那么,當它們明顯提供了巨大的處理速度時(shí),為什么不立即使用它們呢?
首先,超級計算機和類(lèi)似系統的設計、建造和操作都極其昂貴。多年來(lái),它們都是圍繞大量 CPU 陣列構建的,因此集成另一個(gè)處理器并不是一朝一夕的事。此類(lèi)系統在增加芯片數量之前需要進(jìn)行徹底的規劃和初始小規模測試。
其次,讓所有這些組件協(xié)調運行,尤其是軟件方面,絕非易事,這也是當時(shí) GPU 的一個(gè)重大弱點(diǎn)。雖然它們已經(jīng)變得高度可編程,但以前可供它們使用的軟件相當有限。
Microsoft 的 HLSL(高級著(zhù)色器語(yǔ)言)、英偉達 的Cg 庫和 OpenGL 的 GLSL 使訪(fǎng)問(wèn)圖形芯片的處理能力變得簡(jiǎn)單,盡管純粹是為了渲染。
統一著(zhù)色器架構 GPU 改變了這一切。2006 年,ATI(當時(shí)是AMD 的子公司)和英偉達發(fā)布了軟件工具包,旨在將這種能力不僅僅用于圖形,其 API 分別稱(chēng)為CTM(Close To Metal)和CUDA(Compute Unified Device Architecture)。
然而,科學(xué)和數據處理社區真正需要的是一個(gè)全面的軟件包,它將大量的 CPU 和 GPU(通常稱(chēng)為異構平臺)視為由眾多計算設備組成的單個(gè)實(shí)體。
2009年,他們的需求得到了滿(mǎn)足。OpenCL最初由 Apple 開(kāi)發(fā),由 Khronos Group(幾年前吸收了 OpenGL)發(fā)布,成為在日常圖形之外使用 GPU 的事實(shí)上的軟件平臺,或者該領(lǐng)域當時(shí)被稱(chēng)為 GPGPU(通用GPU 上的計算, Mark Harris創(chuàng )造的術(shù)語(yǔ))。
GPU 進(jìn)入計算競賽
與廣闊的技術(shù)評論世界不同,全球范圍內并沒(méi)有數百名評論者測試超級計算機的性能主張。然而,德國曼海姆大學(xué)于 20 世紀 90 年代初啟動(dòng)的一個(gè)正在進(jìn)行的項目正是致力于實(shí)現這一目標。該組織被稱(chēng)為“TOP500”,每年兩次發(fā)布全球最強大的 10 臺超級計算機排行榜。
第一個(gè)夸耀 GPU 的條目出現在 2010 年,中國有兩個(gè)系統——星云和天河一號。他們分別使用英偉達的Tesla C2050(本質(zhì)上是 GeForce GTX 470,如下)和 AMD 的Radeon HD 4870卡,前者的理論峰值為 2,984 TFLOPS。
在高端 GPGPU 的早期階段,英偉達是為計算巨頭配備的首選供應商,不是因為性能(AMD 的 Radeon 卡通常提供更高程度的處理性能),而是因為軟件支持。CUDA 經(jīng)歷了快速發(fā)展,幾年后 AMD 才找到合適的替代方案,鼓勵用戶(hù)改用 OpenCL。
然而,英偉達并沒(méi)有完全主導市場(chǎng),英特爾的至強融核處理器試圖占據一席之地。這些大型芯片源自一個(gè)名為 Larrabee 的已中止的 GPU 項目,是一種特殊的 CPU-GPU 混合體,由多個(gè)類(lèi)似奔騰的核心(CPU 部分)與大型浮點(diǎn)單元(GPU 部分)配對組成。
對 Tesla C2050 內部結構的檢查揭示了 14 個(gè)稱(chēng)為流式多處理器 (SM) 的塊,由緩存和中央控制器劃分。每一個(gè)都包含 32 組兩個(gè)邏輯電路(英偉達將其標記為 CUDA 核心),用于執行所有數學(xué)運算 - 一組用于整數值,另一組用于浮點(diǎn)數。在后一種情況下,內核可以在每個(gè)時(shí)鐘周期以單(32 位)精度管理一次 FMA(融合乘加)操作;雙精度(64 位)運算至少需要兩個(gè)時(shí)鐘周期。
Xeon Phi 芯片(下圖)中的浮點(diǎn)單元看起來(lái)有些相似,只是每個(gè)內核處理的數據值只有 C2050 中 SM 的一半。盡管如此,由于與 Tesla 的 14 個(gè)重復核心相比,有 32 個(gè)重復核心,單個(gè) Xeon Phi 處理器總體上每個(gè)時(shí)鐘周期可以處理更多的值。然而,英特爾首次發(fā)布的該芯片更多的是原型機,無(wú)法充分發(fā)揮其潛力——英偉達的產(chǎn)品運行速度更快,功耗更低,并被證明是一款卓越的產(chǎn)品。
這將成為 AMD、英特爾和英偉達 之間三路 GPGPU 之爭中反復出現的主題。一種型號可能擁有數量較多的處理核心,而另一種型號可能具有更快的時(shí)鐘速度或更強大的緩存系統。
CPU 對于所有類(lèi)型的計算仍然至關(guān)重要,許多超級計算機和高端計算系統仍然由 AMD 或英特爾處理器組成。雖然單個(gè) CPU 無(wú)法與普通 GPU 的 SIMD 性能競爭,但當數千個(gè) CPU 連接在一起時(shí),它們就證明足夠了。然而,此類(lèi)系統缺乏功效。
例如,在天河一號使用Radeon HD 4870卡的同時(shí),AMD最大的服務(wù)器CPU(12核Opteron 6176 SE)也開(kāi)始流行。對于 140 W 左右的功耗,CPU 理論上可以達到 220 GFLOPS,而上述 GPU 的峰值性能可達到 1,200 GFLOPS,僅多出 10 W,而且成本僅為其一小部分。
不再“只是”顯卡
到了 2013 年,不僅僅是世界上的超級計算機在集體利用 GPU 的能力進(jìn)行并行計算。英偉達正在積極推廣其GRID 平臺,這是一種用于科學(xué)和其他應用的 GPU 虛擬化服務(wù)。最初是作為托管基于云的游戲的系統而推出的,對大規模、經(jīng)濟實(shí)惠的 GPGPU 不斷增長(cháng)的需求使得這一轉變不可避免。在其年度技術(shù)會(huì )議上,GRID 被認為是各領(lǐng)域工程師的重要工具。
在同一事件中,GPU 公司展示了代號為 Volta 的未來(lái)架構。然而,公布的細節很少,普遍的假設是這將是另一款服務(wù)于英偉達所有市場(chǎng)的芯片。
與此同時(shí),AMD 也在做類(lèi)似的事情,在其專(zhuān)注于游戲的 Radeon 系列以及 FirePro 和 Radeon Sky 服務(wù)器卡中利用定期更新的 Graphics Core Next (GCN) 設計。那時(shí),性能數據已經(jīng)令人震驚——FirePro W9100 的峰值 FP32(32 位浮點(diǎn))吞吐量為 5.2 TFLOPS,這個(gè)數字對于不到二十年前的超級計算機來(lái)說(shuō)是不可想象的。
當然,GPU 仍然主要是為 3D 圖形而設計的,但渲染技術(shù)的進(jìn)步意味著(zhù)這些芯片必須越來(lái)越擅長(cháng)處理一般計算工作負載。唯一的問(wèn)題是它們執行高精度浮點(diǎn)數學(xué)(即 FP64 或更高)的能力有限??v觀(guān)2015 年頂級超級計算機,與完全基于 CPU 的超級計算機相比,使用 GPU(英特爾的 Xeon Phi 或英偉達的 Tesla)的數量相對較少。
當英偉達在 2016 年推出Pascal 架構時(shí),一切都發(fā)生了變化。這是該公司首次嘗試專(zhuān)門(mén)為高性能計算市場(chǎng)設計 GPU,其他 GPU 則用于多個(gè)領(lǐng)域。前者只生產(chǎn)過(guò)一款(GP100),并且只產(chǎn)生了 5 種產(chǎn)品,但之前所有架構都只配備少數 FP64 內核,而這款芯片卻容納了近 2,000 個(gè)內核。
Tesla P100 提供超過(guò) 9 TFLOPS 的 FP32 處理能力以及 FP64 處理能力的一半,其功能非常強大。AMD 的 Radeon Pro W9100 使用其 Vega 10 芯片,在 FP32 中速度快了 30%,但在 FP64 中慢了 800%。此時(shí),英特爾因銷(xiāo)售不佳而瀕臨停產(chǎn) Xeon Phi 系列。
一年后,英偉達終于發(fā)布了 Volta,這表明該公司不僅僅對將其 GPU 引入 HPC 和數據處理市場(chǎng)感興趣,它還瞄準了另一個(gè)市場(chǎng)。
神經(jīng)元、網(wǎng)絡(luò ),天哪!
深度學(xué)習是統稱(chēng)為機器學(xué)習的更廣泛學(xué)科中的一個(gè)領(lǐng)域,機器學(xué)習本身是人工智能的一個(gè)子集。它涉及使用稱(chēng)為神經(jīng)網(wǎng)絡(luò )的復雜數學(xué)模型,從給定數據中提取信息,例如確定所呈現的圖像描繪特定動(dòng)物的概率。為此,模型需要進(jìn)行“訓練”——在本例中,顯示了數百萬(wàn)張該動(dòng)物的圖像,以及數百萬(wàn)張不顯示該動(dòng)物的圖像。
所涉及的數學(xué)植根于矩陣和張量計算。幾十年來(lái),此類(lèi)工作負載只適合基于 CPU 的大型超級計算機。然而,早在 2000 年代,GPU 就顯然非常適合此類(lèi)任務(wù)。
盡管如此,英偉達還是押注于深度學(xué)習市場(chǎng)的大幅擴張,并在其 Volta 架構中添加了額外的功能,使其在該領(lǐng)域脫穎而出。這些是作為張量核心銷(xiāo)售的 FP16 邏輯單元組,作為一個(gè)大型陣列一起運行,但功能非常有限。
事實(shí)上,它們只執行一項功能——將兩個(gè) FP16 4x4 矩陣相乘,然后將另一個(gè) FP16 或 FP32 4x4 矩陣與該結果相加(這一過(guò)程稱(chēng)為 GEMM 運算)。英偉達之前的 GPU 以及競爭對手的 GPU 也可以執行此類(lèi)計算,但速度遠不及 Volta。GV100 是唯一使用該架構制造的 GPU,總共包含 512 個(gè)張量核心,每個(gè)核心能夠在每個(gè)時(shí)鐘周期執行 64 個(gè) GEMM。
根據數據集中矩陣的大小以及所使用的浮點(diǎn)大小,Tesla V100 卡在這些張量計算中理論上可以達到 125 TFLOPS。Volta 顯然是為小眾市場(chǎng)設計的,但 GP100 在超級計算機領(lǐng)域的進(jìn)軍有限,而新的 Tesla 型號則迅速被采用。
PC游戲愛(ài)好者會(huì )知道,英偉達隨后在隨后的圖靈架構中將張量核心添加到其通用消費產(chǎn)品中,并開(kāi)發(fā)了一種稱(chēng)為深度學(xué)習超級采樣(DLSS)的升級技術(shù)。最新版本使用 GPU 中的核心在放大圖像上運行神經(jīng)網(wǎng)絡(luò ),糾正幀中的任何偽影。
在短時(shí)間內,英偉達獨占了 GPU 加速的深度學(xué)習市場(chǎng),其數據中心部門(mén)的收入大幅增長(cháng)——2017 財年增長(cháng)率為 145%,2018 財年增長(cháng)率為 133%,2019 財年增長(cháng)率為 52%。截至 2019 財年末,HPC、深度學(xué)習等領(lǐng)域的銷(xiāo)售額總計 29 億美元。
然而,只要有錢(qián),競爭就不可避免。2018 年,谷歌開(kāi)始通過(guò)云服務(wù)提供對其內部開(kāi)發(fā)的張量處理芯片的訪(fǎng)問(wèn)。亞馬遜很快也緊隨其后,推出了專(zhuān)用 CPU AWS Graviton。與此同時(shí),AMD 正在重組其 GPU 部門(mén),形成兩條不同的產(chǎn)品線(xiàn):一條主要用于游戲 (RDNA),另一條專(zhuān)門(mén)用于計算 (CDNA)。
雖然 RDNA 與其前身明顯不同,但 CDNA 在很大程度上是 GCN 的自然演變,盡管規模擴大到了一個(gè)巨大的水平??纯串斀裼糜诔売嬎銠C、數據服務(wù)器和人工智能機器的 GPU,一切都非常巨大。
AMD 的 CDNA 2 驅動(dòng)的MI250X擁有 220 個(gè)計算單元,提供略低于 48 TFLOPS 的雙精度 FP64 吞吐量和 128 GB 的高帶寬內存 (HBM2e),這兩個(gè)方面在 HPC 應用中都備受追捧。英偉達的 GH100 芯片采用Hopper 架構和 576 個(gè) Tensor Core,有可能達到 4000 TOPS,在 AI 矩陣計算中采用低精度 INT8 數字格式。
英特爾的Ponte Vecchio GPU 同樣龐大,擁有 1000 億個(gè)晶體管,AMD 即將推出的 MI300 擁有 460 億個(gè)晶體管,包括多個(gè) CPU、顯卡和內存小芯片。
然而,它們共有的一件事是它們絕對不是 GPU:它們不是 GPU。早在英偉達將該術(shù)語(yǔ)用作營(yíng)銷(xiāo)工具之前,該縮寫(xiě)詞就代表圖形處理單元。AMD 的 MI250X 沒(méi)有任何渲染輸出單元 (ROP),甚至 GH100 也只擁有類(lèi)似于 GeForce GTX 1050 的Direct3D 性能,使得 GPU 中的“G”變得無(wú)關(guān)緊要。
那么,我們可以稱(chēng)呼它們什么呢?“GPGPU”并不理想,因為它是一個(gè)笨拙的短語(yǔ),指的是在通用計算中使用 GPU,而不是設備本身?!癏PCU”(高性能計算單元)也好不了多少。但也許這并不重要。畢竟,“CPU”一詞非常廣泛,涵蓋了各種不同的處理器和用途。
GPU 接下來(lái)要征服什么?
AMD、英特爾、英偉達和其他數十家公司在 GPU 研發(fā)上投入了數十億美元,當今的圖形處理器不會(huì )很快被任何截然不同的產(chǎn)品所取代。對于渲染,最新的 API 和使用它們的軟件包(例如游戲引擎和 CAD 應用程序)通常與運行代碼的硬件無(wú)關(guān),因此從理論上講,它們可以適應全新的東西。
然而,GPU 中專(zhuān)門(mén)用于圖形的組件相對較少 - 三角形設置引擎和 ROP 是最明顯的組件,并且最近版本中的光線(xiàn)追蹤單元也高度專(zhuān)業(yè)化。然而,其余部分本質(zhì)上是大規模并行 SIMD 芯片,由強大而復雜的內存/緩存系統支持。
基本設計與以往一樣好,未來(lái)的任何改進(jìn)都與半導體制造技術(shù)的進(jìn)步緊密相關(guān)。換句話(huà)說(shuō),它們只能通過(guò)容納更多邏輯單元、以更高的時(shí)鐘速度運行或兩者的組合來(lái)改進(jìn)。
當然,它們可以合并新功能,使其能夠在更廣泛的場(chǎng)景中發(fā)揮作用。在 GPU 的歷史上,這種情況已經(jīng)發(fā)生過(guò)好幾次,不過(guò)向統一著(zhù)色器架構的過(guò)渡尤為重要。雖然最好有專(zhuān)用硬件來(lái)處理張量或光線(xiàn)追蹤計算,但現代 GPU 的核心能夠管理這一切,盡管速度較慢。
這就是為什么 MI250 和 GH100 等產(chǎn)品與臺式電腦的同類(lèi)產(chǎn)品非常相似,未來(lái)用于 HPC 和 AI 的設計很可能會(huì )遵循這一趨勢。那么,如果芯片本身不會(huì )發(fā)生重大變化,那么它們的應用又如何呢?
鑒于與 AI 相關(guān)的任何事物本質(zhì)上都是計算的一個(gè)分支,因此只要需要執行大量 SIMD 計算,就可能會(huì )使用 GPU。雖然科學(xué)和工程領(lǐng)域沒(méi)有多少領(lǐng)域尚未使用此類(lèi)處理器,但我們可能會(huì )看到 GPU 衍生產(chǎn)品的使用激增。
目前人們可以購買(mǎi)配備微型芯片的手機,其唯一功能是加速張量計算。隨著(zhù) ChatGPT 等工具的功能和普及度不斷增強,我們將看到更多配備此類(lèi)硬件的設備。
不起眼的 GPU 已經(jīng)從僅僅比 CPU 更快地運行游戲的設備發(fā)展成為通用加速器,為全球的工作站、服務(wù)器和超級計算機提供動(dòng)力。全球數百萬(wàn)人每天都在使用它——不僅在我們的計算機、電話(huà)、電視和流媒體設備中,而且在我們使用包含語(yǔ)音和圖像識別或提供音樂(lè )和視頻推薦的服務(wù)時(shí)也是如此。
GPU 真正的下一步可能是一個(gè)未知的領(lǐng)域,但有一點(diǎn)是肯定的,圖形處理單元將在未來(lái)幾十年內繼續成為計算和人工智能的主要工具。
本文選編自“半導體行業(yè)觀(guān)察”,作者:Nick Evanson;智通財經(jīng)編輯:李均柃
關(guān)鍵詞: