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