為什么是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、IBM 或 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 年,英特爾使用一種名為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 擴展)。
首次出現在 AMD K6-2 CPU 中的3D Now
隨著(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和 Nvidia 的 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中使用的 Nvidia G80(上圖)的理論峰值為 346 GLFOPS,而 2007 年Radeon HD 2900 XT中使用的 ATI R600則擁有 476 GLFOPS。
兩家制造商很快就在其專(zhuān)業(yè)模型中利用了這種計算能力。雖然價(jià)格過(guò)高,但 ATI 的 FireGL V8650 和 Nvidia 的 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ǔ)言)、Nvidia 的Cg 庫和 OpenGL 的 GLSL 使訪(fǎng)問(wèn)圖形芯片的處理能力變得簡(jiǎn)單,盡管純粹是為了渲染。
統一著(zhù)色器架構 GPU 改變了這一切。2006 年,ATI(當時(shí)是AMD 的子公司)和 Nvidia 發(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è)系統——星云和天河一號。他們分別使用 Nvidia 的Tesla C2050(本質(zhì)上是 GeForce GTX 470,如下)和 AMD 的Radeon HD 4870卡,前者的理論峰值為 2,984 TFLOPS。
在高端 GPGPU 的早期階段,Nvidia 是為計算巨頭配備的首選供應商,不是因為性能(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è)邏輯電路(Nvidia 將其標記為 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、英特爾和 Nvidia 之間三路 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)行并行計算。Nvidia 正在積極推廣其GRID 平臺,這是一種用于科學(xué)和其他應用的 GPU 虛擬化服務(wù)。最初是作為托管基于云的游戲的系統而推出的,對大規模、經(jīng)濟實(shí)惠的 GPGPU 不斷增長(cháng)的需求使得這一轉變不可避免。在其年度技術(shù)會(huì )議上,GRID 被認為是各領(lǐng)域工程師的重要工具。
在同一事件中,GPU 公司展示了代號為 Volta 的未來(lái)架構。然而,公布的細節很少,普遍的假設是這將是另一款服務(wù)于 Nvidia 所有市場(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 或 Nvidia 的 Tesla)的數量相對較少。
當 Nvidia 在 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 系列。
一年后,Nvidia 終于發(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 運算)。Nvidia 之前的 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ì )知道,Nvidia隨后在隨后的圖靈架構中將張量核心添加到其通用消費產(chǎn)品中,并開(kāi)發(fā)了一種稱(chēng)為深度學(xué)習超級采樣(DLSS)的升級技術(shù)。最新版本使用 GPU 中的核心在放大圖像上運行神經(jīng)網(wǎng)絡(luò ),糾正幀中的任何偽影。
在短時(shí)間內,Nvidia 獨占了 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 應用中都備受追捧。Nvidia 的 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、英特爾、Nvidia 和其他數十家公司在 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)品的使用激增。
谷歌的 Coral 加速器板配有兩個(gè) edgeTPU 芯片
目前人們可以購買(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)幾十年內繼續成為計算和人工智能的主要工具。
本文來(lái)源:半導體行業(yè)觀(guān)察 (ID:icbank),原文標題:《為什么是GPU?》
風(fēng)險提示及免責條款 市場(chǎng)有風(fēng)險,投資需謹慎。本文不構成個(gè)人投資建議,也未考慮到個(gè)別用戶(hù)特殊的投資目標、財務(wù)狀況或需要。用戶(hù)應考慮本文中的任何意見(jiàn)、觀(guān)點(diǎn)或結論是否符合其特定狀況。據此投資,責任自負。關(guān)鍵詞: