亚洲欧美精品中文三区|亚洲精品美女AV在线|性生潮久久久不久久久久|免费 无码 国产在现看|亚洲欧美国产精品专区久久|少妇的丰满3中文字幕免费|欧美成人怡红院在线观看视频|亚洲国产中文精品看片在线观看

為什么是GPU?

三十年前,CPU 和其他專用處理器幾乎處理所有計(jì)算任務(wù)。那個(gè)時(shí)代的顯卡有助于加快 Windows 和應(yīng)用程序中 2D 形狀的繪制速度,但絕對(duì)沒(méi)有其他作用??爝M(jìn)到今天,GPU 現(xiàn)已成為整個(gè)行業(yè)最具主導(dǎo)地位的芯片之一。


(資料圖)

具有諷刺意味的是,圖形芯片硬件的唯一功能的日子已經(jīng)一去不復(fù)返了,圖形高性能計(jì)算和機(jī)器學(xué)習(xí)在很大程度上依賴于不起眼的 GPU 的處理能力。與我們一起探索這款單芯片如何從一個(gè)不起眼的像素推動(dòng)器演變成一個(gè)強(qiáng)大的浮點(diǎn)計(jì)算引擎。

一開(kāi)始CPU統(tǒng)治一切

讓我們首先回到 20 世紀(jì) 90 年代末。高性能計(jì)算領(lǐng)域,無(wú)論是使用超級(jí)計(jì)算機(jī)進(jìn)行科學(xué)研究、標(biāo)準(zhǔn)服務(wù)器上的數(shù)據(jù)處理,還是工作站上的工程和設(shè)計(jì)任務(wù),都完全依賴于兩種類型的 CPU:為單一目的而構(gòu)建的專用處理器或現(xiàn)成的處理器,AMD(AMD.IS)、IBM(IBM.US) 或 Intel 的貨架芯片。

以 ASCI RED為例。1997 年,它是最強(qiáng)大的超級(jí)計(jì)算機(jī)之一,由 9,632 個(gè) Intel Pentium II Overdrive CPU 組成(下圖)。每個(gè)單元的運(yùn)行頻率為 333 MHz,該系統(tǒng)的理論峰值計(jì)算性能略高于 3.2 TFLOPS(每秒萬(wàn)億次浮點(diǎn)運(yùn)算)。

由于在本文中經(jīng)常提到這個(gè)指標(biāo),因此值得花點(diǎn)時(shí)間來(lái)解釋它的含義。在計(jì)算機(jī)科學(xué)中,浮點(diǎn)數(shù)(或簡(jiǎn)稱浮點(diǎn)數(shù))是表示非整數(shù)值的數(shù)據(jù)值,例如 6.2815 或 0.0044。整數(shù)值(稱為整數(shù))經(jīng)常用于控制計(jì)算機(jī)及其上運(yùn)行的任何軟件所需的計(jì)算。

浮點(diǎn)數(shù)對(duì)于精度至關(guān)重要的情況至關(guān)重要 - 特別是與科學(xué)或工程相關(guān)的任何事情。即使是簡(jiǎn)單的計(jì)算,例如確定圓的周長(zhǎng),也至少涉及一個(gè)浮點(diǎn)值。

幾十年來(lái),CPU 一直擁有單獨(dú)的電路來(lái)對(duì)整數(shù)和浮點(diǎn)數(shù)執(zhí)行邏輯運(yùn)算。在上述 Pentium II Overdrive 的情況下,它可以在每個(gè)時(shí)鐘周期執(zhí)行一次基本浮點(diǎn)運(yùn)算(乘法或加法)。理論上,這就是為什么 ASCI Red 的峰值浮點(diǎn)性能為 9,632 個(gè) CPU x 3.33 億個(gè)時(shí)鐘周期 x 1 次操作/周期 = 3,207,456 百萬(wàn)次 FLOPS。

這些數(shù)字是基于理想條件(例如,對(duì)易于放入高速緩存的數(shù)據(jù)使用最簡(jiǎn)單的指令)預(yù)測(cè)的,并且在現(xiàn)實(shí)生活中很少實(shí)現(xiàn)。然而,它們可以很好地表明系統(tǒng)的功率。

其他超級(jí)計(jì)算機(jī)也擁有類似數(shù)量的標(biāo)準(zhǔn)處理器——?jiǎng)趥愃估ツ獱枃?guó)家實(shí)驗(yàn)室的Blue Pacific使用了 5808 個(gè) IBM PowerPC 604e芯片,洛斯阿拉莫斯國(guó)家實(shí)驗(yàn)室的Blue Mountain(上圖)則使用了 6144 個(gè)MIPS Technologies R1000。

為了達(dá)到萬(wàn)億次浮點(diǎn)運(yùn)算級(jí)別的處理能力,需要數(shù)千個(gè) CPU,所有這些都需要大量 RAM 和硬盤存儲(chǔ)的支持。過(guò)去是這樣,現(xiàn)在仍然是,這一切歸因于機(jī)器的數(shù)學(xué)要求。當(dāng)我們?cè)趯W(xué)校第一次接觸物理、化學(xué)和其他學(xué)科的方程時(shí),一切都是一維的。換句話說(shuō),我們使用一個(gè)數(shù)字來(lái)表示距離、速度、質(zhì)量、時(shí)間等。

然而,為了準(zhǔn)確地建模和模擬現(xiàn)象,需要更多的維度,并且數(shù)學(xué)上升到向量、矩陣和張量的領(lǐng)域。它們?cè)跀?shù)學(xué)中被視為單個(gè)實(shí)體,但包含多個(gè)值,這意味著任何進(jìn)行計(jì)算的計(jì)算機(jī)都需要同時(shí)處理大量數(shù)字。鑒于當(dāng)時(shí)的 CPU 每個(gè)周期只能處理一到兩個(gè)浮點(diǎn)數(shù),因此需要數(shù)千個(gè)浮點(diǎn)數(shù)。

SIMD 加入競(jìng)爭(zhēng):MMX、3DNow!和SSE

1997 年,英特爾(INTC.US)使用一種名為MMX的技術(shù)更新了其最初的奔騰系列 CPU ,這是一組利用內(nèi)核內(nèi)八個(gè)附加寄存器的指令。每個(gè)都被設(shè)計(jì)為存儲(chǔ)一到四個(gè)整數(shù)值。該系統(tǒng)允許處理器同時(shí)執(zhí)行跨多個(gè)數(shù)字的一條指令,這種方法更被稱為 SIMD(單指令、多數(shù)據(jù))。

一年后,AMD 推出了自己的版本,稱為3DNow!。它的性能尤其優(yōu)越,因?yàn)榧拇嫫骺梢源鎯?chǔ)浮點(diǎn)值。又過(guò)了一年,英特爾才在 MMX 中解決這個(gè)問(wèn)題,并在其 Pentium III 芯片中引入了SSE(流 SIMD 擴(kuò)展)。

隨著日歷進(jìn)入新千年,高性能計(jì)算機(jī)的設(shè)計(jì)者可以使用能夠有效處理矢量數(shù)學(xué)的標(biāo)準(zhǔn)處理器。一旦擴(kuò)展到數(shù)千個(gè),這些處理器就可以同樣出色地管理矩陣和張量。盡管取得了這一進(jìn)步,超級(jí)計(jì)算機(jī)世界仍然青睞舊的或?qū)S玫男酒?,因?yàn)檫@些新的擴(kuò)展并不是專門為此類任務(wù)而設(shè)計(jì)的。

對(duì)于另一種快速普及的處理器(GPU)來(lái)說(shuō)也是如此,它比 AMD 或英特爾的任何 CPU 都更擅長(zhǎng) SIMD 工作。

在圖形處理器的早期,CPU 處理組成場(chǎng)景的三角形的計(jì)算(因此 AMD 為其 SIMD 技術(shù)使用這個(gè)名稱)。然而,像素的著色和紋理完全由 GPU 處理,并且這項(xiàng)工作的許多方面都涉及矢量數(shù)學(xué)。

20 多年前最好的消費(fèi)級(jí)顯卡,例如3dfx 的Voodoo5 5500和 英偉達(dá)(NVDA.US) 的 GeForce 2 Ultra,都是出色的 SIMD 設(shè)備。然而,它們的創(chuàng)建目的是為游戲生成 3D 圖形,而不是其他任何東西。即使是專業(yè)市場(chǎng)的顯卡也只專注于渲染。

ATI 售價(jià) 2,000 美元的 ATI FireGL 3 配備了兩個(gè) IBM 芯片(一個(gè) GT1000 幾何引擎和一個(gè) RC1000 光柵器)、一個(gè)巨大的 128 MB DDR-SDRAM 以及據(jù)稱 30 GFLOPS 的處理能力。但這一切都是為了使用 OpenGL 渲染 API 加速 3D Studio Max 和 AutoCAD 等程序中的圖形。

那個(gè)時(shí)代的 GPU 無(wú)法用于其他用途,因?yàn)檗D(zhuǎn)換 3D 對(duì)象并將其轉(zhuǎn)換為監(jiān)視器圖像的過(guò)程并不涉及大量的浮點(diǎn)數(shù)學(xué)。事實(shí)上,其中很大一部分是在整數(shù)級(jí)別,并且圖形卡需要幾年的時(shí)間才能開(kāi)始在整個(gè)管道中大量使用浮點(diǎn)值。

第一個(gè)是 ATI 的R300 處理器,它有 8 個(gè)獨(dú)立的像素管道,以 24 位浮點(diǎn)精度處理所有數(shù)學(xué)運(yùn)算。不幸的是,除了圖形之外,沒(méi)有其他方法可以利用這種能力——硬件和相關(guān)軟件完全以圖像為中心。

計(jì)算機(jī)工程師并沒(méi)有忘記 GPU 擁有大量 SIMD 功能,但缺乏將其應(yīng)用到其他領(lǐng)域的方法這一事實(shí)。令人驚訝的是,這是一個(gè)游戲機(jī),展示了如何解決這個(gè)棘手的問(wèn)題。

統(tǒng)一的新時(shí)代

2005年11月,微軟的Xbox 360上市,其CPU由IBM基于其標(biāo)準(zhǔn)PowerPC架構(gòu)設(shè)計(jì)和制造,GPU由ATI設(shè)計(jì)、TMSC制造。這款代號(hào)為 Xenos 的圖形芯片很特別,因?yàn)樗牟季滞耆荛_(kāi)了單獨(dú)的頂點(diǎn)和像素管道的經(jīng)典方法。

取而代之的是一個(gè)三路 SIMD 陣列集群。具體來(lái)說(shuō),每個(gè)集群由 16 個(gè)向量處理器組成,每個(gè)向量處理器包含 5 個(gè)數(shù)學(xué)單元。這種布局使每個(gè)陣列能夠在每個(gè)周期對(duì) 80 個(gè)浮點(diǎn)數(shù)據(jù)值同時(shí)執(zhí)行來(lái)自線程的兩條順序指令。

這被稱為統(tǒng)一著色器架構(gòu),每個(gè)陣列可以處理任何類型的著色器。盡管 Xenos 使芯片的其他方面變得更加復(fù)雜,但它引發(fā)了一種至今仍在使用的設(shè)計(jì)范例。

在時(shí)鐘速度為 500 MHz 的情況下,整個(gè)集群理論上可以為乘法加法命令的三個(gè)線程實(shí)現(xiàn) 240 GFLOPS (500 x 16 x 80 x 2) 的處理速率。這個(gè)數(shù)字有一定的規(guī)模感,作為對(duì)比,十年前的一些世界頂級(jí)超級(jí)計(jì)算機(jī)甚至無(wú)法匹敵這個(gè)速度。

例如,桑迪亞國(guó)家實(shí)驗(yàn)室的aragon XP/S140配備 3,680 個(gè) Intel i860 CPU,峰值速度為 184 GFLOPS。到 1995 年,這臺(tái)機(jī)器已經(jīng)有幾年歷史了,芯片開(kāi)發(fā)的速度很快就超過(guò)了它,但 GPU 也是如此。

CPU 多年來(lái)一直在整合自己的 SIMD 陣列,例如,英特爾最初的 Pentium MMX 有一個(gè)專用單元,用于在向量上執(zhí)行指令,最多包含 8 個(gè) 8 位整數(shù)。當(dāng) Xenos 在世界各地的家庭中使用時(shí),此類裝置的尺寸至少增加了一倍,但與 Xenos 相比,它們?nèi)匀缓苄 ?/p>

消費(fèi)級(jí)顯卡開(kāi)始采用具有統(tǒng)一著色器架構(gòu)的 GPU 時(shí),它們已經(jīng)擁有比 Xbox 360 的圖形芯片明顯更高的處理速率。2006 年GeForce 8800 GTX中使用的 英偉達(dá)G80(上圖)的理論峰值為 346 GLFOPS,而 2007 年Radeon HD 2900 XT中使用的 ATI R600則擁有 476 GLFOPS。

兩家制造商很快就在其專業(yè)模型中利用了這種計(jì)算能力。雖然價(jià)格過(guò)高,但 ATI 的 FireGL V8650 和英偉達(dá)的 Tesla C870 非常適合高端科學(xué)計(jì)算機(jī)。然而,在最高級(jí)別上,全球超級(jí)計(jì)算機(jī)仍然僅依賴標(biāo)準(zhǔn) CPU。事實(shí)上,幾年后 GPU 才開(kāi)始出現(xiàn)在最強(qiáng)大的系統(tǒng)中。

那么,當(dāng)它們明顯提供了巨大的處理速度時(shí),為什么不立即使用它們呢?

首先,超級(jí)計(jì)算機(jī)和類似系統(tǒng)的設(shè)計(jì)、建造和操作都極其昂貴。多年來(lái),它們都是圍繞大量 CPU 陣列構(gòu)建的,因此集成另一個(gè)處理器并不是一朝一夕的事。此類系統(tǒng)在增加芯片數(shù)量之前需要進(jìn)行徹底的規(guī)劃和初始小規(guī)模測(cè)試。

其次,讓所有這些組件協(xié)調(diào)運(yùn)行,尤其是軟件方面,絕非易事,這也是當(dāng)時(shí) GPU 的一個(gè)重大弱點(diǎn)。雖然它們已經(jīng)變得高度可編程,但以前可供它們使用的軟件相當(dāng)有限。

Microsoft 的 HLSL(高級(jí)著色器語(yǔ)言)、英偉達(dá) 的Cg 庫(kù)和 OpenGL 的 GLSL 使訪問(wèn)圖形芯片的處理能力變得簡(jiǎn)單,盡管純粹是為了渲染。

統(tǒng)一著色器架構(gòu) GPU 改變了這一切。2006 年,ATI(當(dāng)時(shí)是AMD 的子公司)和英偉達(dá)發(fā)布了軟件工具包,旨在將這種能力不僅僅用于圖形,其 API 分別稱為CTM(Close To Metal)和CUDA(Compute Unified Device Architecture)。

然而,科學(xué)和數(shù)據(jù)處理社區(qū)真正需要的是一個(gè)全面的軟件包,它將大量的 CPU 和 GPU(通常稱為異構(gòu)平臺(tái))視為由眾多計(jì)算設(shè)備組成的單個(gè)實(shí)體。

2009年,他們的需求得到了滿足。OpenCL最初由 Apple 開(kāi)發(fā),由 Khronos Group(幾年前吸收了 OpenGL)發(fā)布,成為在日常圖形之外使用 GPU 的事實(shí)上的軟件平臺(tái),或者該領(lǐng)域當(dāng)時(shí)被稱為 GPGPU(通用GPU 上的計(jì)算, Mark Harris創(chuàng)造的術(shù)語(yǔ))。

GPU 進(jìn)入計(jì)算競(jìng)賽

與廣闊的技術(shù)評(píng)論世界不同,全球范圍內(nèi)并沒(méi)有數(shù)百名評(píng)論者測(cè)試超級(jí)計(jì)算機(jī)的性能主張。然而,德國(guó)曼海姆大學(xué)于 20 世紀(jì) 90 年代初啟動(dòng)的一個(gè)正在進(jìn)行的項(xiàng)目正是致力于實(shí)現(xiàn)這一目標(biāo)。該組織被稱為“TOP500”,每年兩次發(fā)布全球最強(qiáng)大的 10 臺(tái)超級(jí)計(jì)算機(jī)排行榜。

第一個(gè)夸耀 GPU 的條目出現(xiàn)在 2010 年,中國(guó)有兩個(gè)系統(tǒng)——星云和天河一號(hào)。他們分別使用英偉達(dá)的Tesla C2050(本質(zhì)上是 GeForce GTX 470,如下)和 AMD 的Radeon HD 4870卡,前者的理論峰值為 2,984 TFLOPS。

在高端 GPGPU 的早期階段,英偉達(dá)是為計(jì)算巨頭配備的首選供應(yīng)商,不是因?yàn)樾阅?AMD 的 Radeon 卡通常提供更高程度的處理性能),而是因?yàn)檐浖С帧UDA 經(jīng)歷了快速發(fā)展,幾年后 AMD 才找到合適的替代方案,鼓勵(lì)用戶改用 OpenCL。

然而,英偉達(dá)并沒(méi)有完全主導(dǎo)市場(chǎng),英特爾的至強(qiáng)融核處理器試圖占據(jù)一席之地。這些大型芯片源自一個(gè)名為 Larrabee 的已中止的 GPU 項(xiàng)目,是一種特殊的 CPU-GPU 混合體,由多個(gè)類似奔騰的核心(CPU 部分)與大型浮點(diǎn)單元(GPU 部分)配對(duì)組成。

對(duì) Tesla C2050 內(nèi)部結(jié)構(gòu)的檢查揭示了 14 個(gè)稱為流式多處理器 (SM) 的塊,由緩存和中央控制器劃分。每一個(gè)都包含 32 組兩個(gè)邏輯電路(英偉達(dá)將其標(biāo)記為 CUDA 核心),用于執(zhí)行所有數(shù)學(xué)運(yùn)算 - 一組用于整數(shù)值,另一組用于浮點(diǎn)數(shù)。在后一種情況下,內(nèi)核可以在每個(gè)時(shí)鐘周期以單(32 位)精度管理一次 FMA(融合乘加)操作;雙精度(64 位)運(yùn)算至少需要兩個(gè)時(shí)鐘周期。

Xeon Phi 芯片(下圖)中的浮點(diǎn)單元看起來(lái)有些相似,只是每個(gè)內(nèi)核處理的數(shù)據(jù)值只有 C2050 中 SM 的一半。盡管如此,由于與 Tesla 的 14 個(gè)重復(fù)核心相比,有 32 個(gè)重復(fù)核心,單個(gè) Xeon Phi 處理器總體上每個(gè)時(shí)鐘周期可以處理更多的值。然而,英特爾首次發(fā)布的該芯片更多的是原型機(jī),無(wú)法充分發(fā)揮其潛力——英偉達(dá)的產(chǎn)品運(yùn)行速度更快,功耗更低,并被證明是一款卓越的產(chǎn)品。

這將成為 AMD、英特爾和英偉達(dá) 之間三路 GPGPU 之爭(zhēng)中反復(fù)出現(xiàn)的主題。一種型號(hào)可能擁有數(shù)量較多的處理核心,而另一種型號(hào)可能具有更快的時(shí)鐘速度或更強(qiáng)大的緩存系統(tǒng)。

CPU 對(duì)于所有類型的計(jì)算仍然至關(guān)重要,許多超級(jí)計(jì)算機(jī)和高端計(jì)算系統(tǒng)仍然由 AMD 或英特爾處理器組成。雖然單個(gè) CPU 無(wú)法與普通 GPU 的 SIMD 性能競(jìng)爭(zhēng),但當(dāng)數(shù)千個(gè) CPU 連接在一起時(shí),它們就證明足夠了。然而,此類系統(tǒng)缺乏功效。

例如,在天河一號(hào)使用Radeon HD 4870卡的同時(shí),AMD最大的服務(wù)器CPU(12核Opteron 6176 SE)也開(kāi)始流行。對(duì)于 140 W 左右的功耗,CPU 理論上可以達(dá)到 220 GFLOPS,而上述 GPU 的峰值性能可達(dá)到 1,200 GFLOPS,僅多出 10 W,而且成本僅為其一小部分。

不再“只是”顯卡

到了 2013 年,不僅僅是世界上的超級(jí)計(jì)算機(jī)在集體利用 GPU 的能力進(jìn)行并行計(jì)算。英偉達(dá)正在積極推廣其GRID 平臺(tái),這是一種用于科學(xué)和其他應(yīng)用的 GPU 虛擬化服務(wù)。最初是作為托管基于云的游戲的系統(tǒng)而推出的,對(duì)大規(guī)模、經(jīng)濟(jì)實(shí)惠的 GPGPU 不斷增長(zhǎng)的需求使得這一轉(zhuǎn)變不可避免。在其年度技術(shù)會(huì)議上,GRID 被認(rèn)為是各領(lǐng)域工程師的重要工具。

在同一事件中,GPU 公司展示了代號(hào)為 Volta 的未來(lái)架構(gòu)。然而,公布的細(xì)節(jié)很少,普遍的假設(shè)是這將是另一款服務(wù)于英偉達(dá)所有市場(chǎng)的芯片。

與此同時(shí),AMD 也在做類似的事情,在其專注于游戲的 Radeon 系列以及 FirePro 和 Radeon Sky 服務(wù)器卡中利用定期更新的 Graphics Core Next (GCN) 設(shè)計(jì)。那時(shí),性能數(shù)據(jù)已經(jīng)令人震驚——FirePro W9100 的峰值 FP32(32 位浮點(diǎn))吞吐量為 5.2 TFLOPS,這個(gè)數(shù)字對(duì)于不到二十年前的超級(jí)計(jì)算機(jī)來(lái)說(shuō)是不可想象的。

當(dāng)然,GPU 仍然主要是為 3D 圖形而設(shè)計(jì)的,但渲染技術(shù)的進(jìn)步意味著這些芯片必須越來(lái)越擅長(zhǎng)處理一般計(jì)算工作負(fù)載。唯一的問(wèn)題是它們執(zhí)行高精度浮點(diǎn)數(shù)學(xué)(即 FP64 或更高)的能力有限??v觀2015 年頂級(jí)超級(jí)計(jì)算機(jī),與完全基于 CPU 的超級(jí)計(jì)算機(jī)相比,使用 GPU(英特爾的 Xeon Phi 或英偉達(dá)的 Tesla)的數(shù)量相對(duì)較少。

當(dāng)英偉達(dá)在 2016 年推出Pascal 架構(gòu)時(shí),一切都發(fā)生了變化。這是該公司首次嘗試專門為高性能計(jì)算市場(chǎng)設(shè)計(jì) GPU,其他 GPU 則用于多個(gè)領(lǐng)域。前者只生產(chǎn)過(guò)一款(GP100),并且只產(chǎn)生了 5 種產(chǎn)品,但之前所有架構(gòu)都只配備少數(shù) FP64 內(nèi)核,而這款芯片卻容納了近 2,000 個(gè)內(nèi)核。

Tesla P100 提供超過(guò) 9 TFLOPS 的 FP32 處理能力以及 FP64 處理能力的一半,其功能非常強(qiáng)大。AMD 的 Radeon Pro W9100 使用其 Vega 10 芯片,在 FP32 中速度快了 30%,但在 FP64 中慢了 800%。此時(shí),英特爾因銷售不佳而瀕臨停產(chǎn) Xeon Phi 系列。

一年后,英偉達(dá)終于發(fā)布了 Volta,這表明該公司不僅僅對(duì)將其 GPU 引入 HPC 和數(shù)據(jù)處理市場(chǎng)感興趣,它還瞄準(zhǔn)了另一個(gè)市場(chǎng)。

神經(jīng)元、網(wǎng)絡(luò),天哪!

深度學(xué)習(xí)是統(tǒng)稱為機(jī)器學(xué)習(xí)的更廣泛學(xué)科中的一個(gè)領(lǐng)域,機(jī)器學(xué)習(xí)本身是人工智能的一個(gè)子集。它涉及使用稱為神經(jīng)網(wǎng)絡(luò)的復(fù)雜數(shù)學(xué)模型,從給定數(shù)據(jù)中提取信息,例如確定所呈現(xiàn)的圖像描繪特定動(dòng)物的概率。為此,模型需要進(jìn)行“訓(xùn)練”——在本例中,顯示了數(shù)百萬(wàn)張?jiān)搫?dòng)物的圖像,以及數(shù)百萬(wàn)張不顯示該動(dòng)物的圖像。

所涉及的數(shù)學(xué)植根于矩陣和張量計(jì)算。幾十年來(lái),此類工作負(fù)載只適合基于 CPU 的大型超級(jí)計(jì)算機(jī)。然而,早在 2000 年代,GPU 就顯然非常適合此類任務(wù)。

盡管如此,英偉達(dá)還是押注于深度學(xué)習(xí)市場(chǎng)的大幅擴(kuò)張,并在其 Volta 架構(gòu)中添加了額外的功能,使其在該領(lǐng)域脫穎而出。這些是作為張量核心銷售的 FP16 邏輯單元組,作為一個(gè)大型陣列一起運(yùn)行,但功能非常有限。

事實(shí)上,它們只執(zhí)行一項(xiàng)功能——將兩個(gè) FP16 4x4 矩陣相乘,然后將另一個(gè) FP16 或 FP32 4x4 矩陣與該結(jié)果相加(這一過(guò)程稱為 GEMM 運(yùn)算)。英偉達(dá)之前的 GPU 以及競(jìng)爭(zhēng)對(duì)手的 GPU 也可以執(zhí)行此類計(jì)算,但速度遠(yuǎn)不及 Volta。GV100 是唯一使用該架構(gòu)制造的 GPU,總共包含 512 個(gè)張量核心,每個(gè)核心能夠在每個(gè)時(shí)鐘周期執(zhí)行 64 個(gè) GEMM。

根據(jù)數(shù)據(jù)集中矩陣的大小以及所使用的浮點(diǎn)大小,Tesla V100 卡在這些張量計(jì)算中理論上可以達(dá)到 125 TFLOPS。Volta 顯然是為小眾市場(chǎng)設(shè)計(jì)的,但 GP100 在超級(jí)計(jì)算機(jī)領(lǐng)域的進(jìn)軍有限,而新的 Tesla 型號(hào)則迅速被采用。

PC游戲愛(ài)好者會(huì)知道,英偉達(dá)隨后在隨后的圖靈架構(gòu)中將張量核心添加到其通用消費(fèi)產(chǎn)品中,并開(kāi)發(fā)了一種稱為深度學(xué)習(xí)超級(jí)采樣(DLSS)的升級(jí)技術(shù)。最新版本使用 GPU 中的核心在放大圖像上運(yùn)行神經(jīng)網(wǎng)絡(luò),糾正幀中的任何偽影。

在短時(shí)間內(nèi),英偉達(dá)獨(dú)占了 GPU 加速的深度學(xué)習(xí)市場(chǎng),其數(shù)據(jù)中心部門的收入大幅增長(zhǎng)——2017 財(cái)年增長(zhǎng)率為 145%,2018 財(cái)年增長(zhǎng)率為 133%,2019 財(cái)年增長(zhǎng)率為 52%。截至 2019 財(cái)年末,HPC、深度學(xué)習(xí)等領(lǐng)域的銷售額總計(jì) 29 億美元。

然而,只要有錢,競(jìng)爭(zhēng)就不可避免。2018 年,谷歌開(kāi)始通過(guò)云服務(wù)提供對(duì)其內(nèi)部開(kāi)發(fā)的張量處理芯片的訪問(wèn)。亞馬遜很快也緊隨其后,推出了專用 CPU AWS Graviton。與此同時(shí),AMD 正在重組其 GPU 部門,形成兩條不同的產(chǎn)品線:一條主要用于游戲 (RDNA),另一條專門用于計(jì)算 (CDNA)。

雖然 RDNA 與其前身明顯不同,但 CDNA 在很大程度上是 GCN 的自然演變,盡管規(guī)模擴(kuò)大到了一個(gè)巨大的水平??纯串?dāng)今用于超級(jí)計(jì)算機(jī)、數(shù)據(jù)服務(wù)器和人工智能機(jī)器的 GPU,一切都非常巨大。

AMD 的 CDNA 2 驅(qū)動(dòng)的MI250X擁有 220 個(gè)計(jì)算單元,提供略低于 48 TFLOPS 的雙精度 FP64 吞吐量和 128 GB 的高帶寬內(nèi)存 (HBM2e),這兩個(gè)方面在 HPC 應(yīng)用中都備受追捧。英偉達(dá)的 GH100 芯片采用Hopper 架構(gòu)和 576 個(gè) Tensor Core,有可能達(dá)到 4000 TOPS,在 AI 矩陣計(jì)算中采用低精度 INT8 數(shù)字格式。

英特爾的Ponte Vecchio GPU 同樣龐大,擁有 1000 億個(gè)晶體管,AMD 即將推出的 MI300 擁有 460 億個(gè)晶體管,包括多個(gè) CPU、顯卡和內(nèi)存小芯片。

然而,它們共有的一件事是它們絕對(duì)不是 GPU:它們不是 GPU。早在英偉達(dá)將該術(shù)語(yǔ)用作營(yíng)銷工具之前,該縮寫詞就代表圖形處理單元。AMD 的 MI250X 沒(méi)有任何渲染輸出單元 (ROP),甚至 GH100 也只擁有類似于 GeForce GTX 1050 的Direct3D 性能,使得 GPU 中的“G”變得無(wú)關(guān)緊要。

那么,我們可以稱呼它們什么呢?“GPGPU”并不理想,因?yàn)樗且粋€(gè)笨拙的短語(yǔ),指的是在通用計(jì)算中使用 GPU,而不是設(shè)備本身?!癏PCU”(高性能計(jì)算單元)也好不了多少。但也許這并不重要。畢竟,“CPU”一詞非常廣泛,涵蓋了各種不同的處理器和用途。

GPU 接下來(lái)要征服什么?

AMD、英特爾、英偉達(dá)和其他數(shù)十家公司在 GPU 研發(fā)上投入了數(shù)十億美元,當(dāng)今的圖形處理器不會(huì)很快被任何截然不同的產(chǎn)品所取代。對(duì)于渲染,最新的 API 和使用它們的軟件包(例如游戲引擎和 CAD 應(yīng)用程序)通常與運(yùn)行代碼的硬件無(wú)關(guān),因此從理論上講,它們可以適應(yīng)全新的東西。

然而,GPU 中專門用于圖形的組件相對(duì)較少 - 三角形設(shè)置引擎和 ROP 是最明顯的組件,并且最近版本中的光線追蹤單元也高度專業(yè)化。然而,其余部分本質(zhì)上是大規(guī)模并行 SIMD 芯片,由強(qiáng)大而復(fù)雜的內(nèi)存/緩存系統(tǒng)支持。



基本設(shè)計(jì)與以往一樣好,未來(lái)的任何改進(jìn)都與半導(dǎo)體制造技術(shù)的進(jìn)步緊密相關(guān)。換句話說(shuō),它們只能通過(guò)容納更多邏輯單元、以更高的時(shí)鐘速度運(yùn)行或兩者的組合來(lái)改進(jìn)。

當(dāng)然,它們可以合并新功能,使其能夠在更廣泛的場(chǎng)景中發(fā)揮作用。在 GPU 的歷史上,這種情況已經(jīng)發(fā)生過(guò)好幾次,不過(guò)向統(tǒng)一著色器架構(gòu)的過(guò)渡尤為重要。雖然最好有專用硬件來(lái)處理張量或光線追蹤計(jì)算,但現(xiàn)代 GPU 的核心能夠管理這一切,盡管速度較慢。

這就是為什么 MI250 和 GH100 等產(chǎn)品與臺(tái)式電腦的同類產(chǎn)品非常相似,未來(lái)用于 HPC 和 AI 的設(shè)計(jì)很可能會(huì)遵循這一趨勢(shì)。那么,如果芯片本身不會(huì)發(fā)生重大變化,那么它們的應(yīng)用又如何呢?

鑒于與 AI 相關(guān)的任何事物本質(zhì)上都是計(jì)算的一個(gè)分支,因此只要需要執(zhí)行大量 SIMD 計(jì)算,就可能會(huì)使用 GPU。雖然科學(xué)和工程領(lǐng)域沒(méi)有多少領(lǐng)域尚未使用此類處理器,但我們可能會(huì)看到 GPU 衍生產(chǎn)品的使用激增。

目前人們可以購(gòu)買配備微型芯片的手機(jī),其唯一功能是加速?gòu)埩坑?jì)算。隨著 ChatGPT 等工具的功能和普及度不斷增強(qiáng),我們將看到更多配備此類硬件的設(shè)備。

不起眼的 GPU 已經(jīng)從僅僅比 CPU 更快地運(yùn)行游戲的設(shè)備發(fā)展成為通用加速器,為全球的工作站、服務(wù)器和超級(jí)計(jì)算機(jī)提供動(dòng)力。全球數(shù)百萬(wàn)人每天都在使用它——不僅在我們的計(jì)算機(jī)、電話、電視和流媒體設(shè)備中,而且在我們使用包含語(yǔ)音和圖像識(shí)別或提供音樂(lè)和視頻推薦的服務(wù)時(shí)也是如此。

GPU 真正的下一步可能是一個(gè)未知的領(lǐng)域,但有一點(diǎn)是肯定的,圖形處理單元將在未來(lái)幾十年內(nèi)繼續(xù)成為計(jì)算和人工智能的主要工具。

本文選編自“半導(dǎo)體行業(yè)觀察”,作者:Nick Evanson;智通財(cái)經(jīng)編輯:李均柃

關(guān)鍵詞: