前言:
半導(dǎo)體產(chǎn)品未來(lái)可能將沿著標(biāo)準(zhǔn)化與定制化交替發(fā)展的路線(xiàn)前進(jìn),每十年波動(dòng)一次,半導(dǎo)體技術(shù)未來(lái)要依靠上述定律維持其高增長(zhǎng)的創(chuàng)新速度。
過(guò)去數(shù)年我們一直在呼喚AI 芯片和高性能計(jì)算芯片,那么下一個(gè)波峰將是超高靈活度集成的芯片GPGPU。
時(shí)代召喚:從GPU到GPGPU
早年的GPU專(zhuān)用于圖形計(jì)算加速,在不斷的發(fā)展和演進(jìn)之中,逐漸進(jìn)化出越來(lái)越多的通用屬性,也即可編程性。
CUDA是英偉達(dá)在GPU應(yīng)用于高性能異構(gòu)計(jì)算領(lǐng)域在編程方面的一大創(chuàng)舉,CUDA可以基于C語(yǔ)言、C++和Fortran、Python等語(yǔ)言直接開(kāi)發(fā)應(yīng)用程序,并構(gòu)建起極為龐大的開(kāi)發(fā)用戶(hù)群,這奠定了GPU可以廣泛應(yīng)用的技術(shù)基礎(chǔ)和生態(tài)力量。CUDA的推出,也開(kāi)啟了英偉達(dá)的GPGPU戰(zhàn)略。
GPGPU,也有人稱(chēng)之為GP2U(GP的兩次方U)。兩個(gè)GP代表著不同的含義:后邊的GP表示圖形處理(Graphic Process),和U組合一起是我們熟知的GPU(圖形處理器);前一個(gè)GP則表示“通用目的”(General Purpose)。
GPGPU不是一款具體的芯片,而是一種概念,即利用圖形處理器進(jìn)行一些非圖形渲染的高性能計(jì)算。
從狹義上來(lái)講,GPGPU在GPU的基礎(chǔ)上進(jìn)行了優(yōu)化設(shè)計(jì),使之更適合高性能并行計(jì)算,并能使用更高級(jí)別的編程語(yǔ)言,在性能、易用性和通用性上更加強(qiáng)大。
GPU應(yīng)用于AI計(jì)算,無(wú)論是云端訓(xùn)練還是終端推理,其本質(zhì)都是GPU通用屬性的一個(gè)方向。
根據(jù)算法的不同,GPU的運(yùn)行速度可以比CPU快10倍到100倍以上。目前世界上最先進(jìn)的超級(jí)計(jì)算機(jī)多數(shù)是基于GPGPU技術(shù)來(lái)實(shí)現(xiàn)的。
小眾玩家:GPGPU領(lǐng)域的玩家
·英偉達(dá)是GPU帶到通用計(jì)算領(lǐng)域的先驅(qū),其GPGPU憑借并行計(jì)算的優(yōu)勢(shì)和完整強(qiáng)大的通用并行計(jì)算架構(gòu)CUDA幾乎壟斷云端訓(xùn)練芯片市場(chǎng)。
·AMD就發(fā)布過(guò)一款“流處理器”,算是AMD最早的GPGPU的嘗試。但當(dāng)時(shí)那款“流處理器”只是GPGPU的一個(gè)“雛形”,遠(yuǎn)未發(fā)揮出GPGPU的真正威力。
·英特爾也在加緊布局通用GPU,從開(kāi)始對(duì)GPU的不屑,到基于自家的x86架構(gòu)開(kāi)發(fā)獨(dú)立顯卡,英特爾折騰了十年之久仍然沒(méi)做出來(lái)一款像樣的GPU。
壓力山大:現(xiàn)階段都要面對(duì)的挑戰(zhàn)
①盡管將GPU大規(guī)模部署到電子戰(zhàn)等嵌入式系統(tǒng)中會(huì)面臨諸多困難,會(huì)需要若干年的努力,但同樣的,要引入其它技術(shù)路線(xiàn)也非常困難。
②處理器技術(shù)的快速更新與迭代,這使得任何電子戰(zhàn)系統(tǒng)承包商都幾乎不可能將其技術(shù)路線(xiàn)依托于單一處理器架構(gòu),尤其是當(dāng)前存在諸多可選項(xiàng)的情況下。
③將GPU應(yīng)用于各種電子戰(zhàn)平臺(tái)所必須承受的惡劣工作環(huán)境的全面的、充分的驗(yàn)證,包括地面、海上、空中甚至是太空環(huán)境,這需要數(shù)十年的時(shí)間。
無(wú)論如何,將定點(diǎn)和浮點(diǎn)處理結(jié)合在同一個(gè)芯片上為提高電子戰(zhàn)系統(tǒng)性能的提升提供了誘人的前景,減少時(shí)延也是一個(gè)無(wú)休止的目標(biāo)和挑戰(zhàn)。
困難重重:研發(fā)GPGPU的難點(diǎn)
從硬件角度看,最核心的是指令集。指令集的覆蓋面、顆粒度、效率等決定一款芯片能否覆蓋到足夠?qū)挼膽?yīng)用領(lǐng)域,對(duì)軟件開(kāi)發(fā)和產(chǎn)品迭代是否足夠友好。
無(wú)論英偉達(dá)還是AMD的GPGPU,指令集都在千條量級(jí),對(duì)比目前國(guó)內(nèi)的AI芯片指令集大多都在百條以?xún)?nèi)。類(lèi)型與數(shù)量的差別映射到硬件高效實(shí)現(xiàn)的復(fù)雜程度,差距是巨大的,在這方面國(guó)內(nèi)的團(tuán)隊(duì)還存在著一定的差距。
②基于硬件層的任務(wù)管理和智能調(diào)度。這是讓芯片從硬件層即提高算力的利用率,也就是大家常說(shuō)的實(shí)際算力。
大多數(shù)AI芯片依賴(lài)于軟件層的調(diào)度實(shí)現(xiàn),這種方式有三個(gè)短板:第一增加了軟件開(kāi)發(fā)的復(fù)雜度,第二降低了硬件算力的利用率,第三減緩了軟件棧迭代更新的速度。在AI領(lǐng)域,算法模型、開(kāi)發(fā)環(huán)境、應(yīng)用場(chǎng)景都在加速更新,這無(wú)疑大大增加了產(chǎn)品落地與工程化的難度。
③軟件層面最重要的是開(kāi)發(fā)生態(tài)。GPGPU通過(guò)英偉達(dá)十多年的耕耘,已經(jīng)建立起了一個(gè)超過(guò)160萬(wàn)開(kāi)發(fā)用戶(hù)的龐大而成熟的生態(tài)——CUDA。
④AI芯片若需要搭建全新的生態(tài),會(huì)帶來(lái)兩個(gè)維度的問(wèn)題:第一,客戶(hù)需要冗長(zhǎng)的適配期,從原有的開(kāi)發(fā)環(huán)境切換到新的軟件生態(tài),這不僅需要資源投入,還要推遲業(yè)務(wù)部署時(shí)間窗口,同時(shí)增加了業(yè)務(wù)的不確定性。
值得一戰(zhàn):國(guó)內(nèi)企業(yè)挑戰(zhàn)與機(jī)遇
過(guò)去一年,AI芯片創(chuàng)企們從秘密造芯的狀態(tài)走出,多數(shù)創(chuàng)企選擇切入的是終端市場(chǎng),少數(shù)玩家選擇進(jìn)軍被美國(guó)半導(dǎo)體巨頭們蠶食掉大半江山的云端,而選擇做GPGPU芯片的玩家更是寥寥無(wú)幾。
NVIDIA早早憑借強(qiáng)大的GPU+CUDA方案切入深度學(xué)習(xí)領(lǐng)域,用大筆研發(fā)投入和時(shí)間堆積起堅(jiān)不可摧的生態(tài)城墻,而這恰恰是國(guó)內(nèi)外其他玩家都相對(duì)薄弱的環(huán)節(jié)。
GPGPU創(chuàng)企們還需在CUDA生態(tài)的基礎(chǔ)上來(lái)推廣自己的芯片,但隨著初代芯片陸續(xù)順利落地,若想真正實(shí)現(xiàn)自主可控,打造完整的國(guó)產(chǎn)核心技術(shù)生態(tài)體系是必經(jīng)之路。
CPU因?yàn)橛兄ㄓ眯缘男枨?,所以往往它上面單個(gè)核心會(huì)設(shè)計(jì)的非常大而全面,并且由于CPU計(jì)算的特性,核心中很大一部分面積用來(lái)構(gòu)建緩存(一個(gè)核心中往往有L1和L2兩級(jí)緩存)和控制單元(解碼器與分支預(yù)測(cè)等前端單元),而實(shí)際用來(lái)運(yùn)算的單元面積可能僅僅只占整個(gè)核心的一半甚至不到。
種種原因使得CPU沒(méi)有辦法做非常大的規(guī)模,一個(gè)核心中能塞入的東西有限,而總體的核心數(shù)需要控制在一個(gè)合理范圍中,多了就可能會(huì)發(fā)生各種各樣的問(wèn)題。
明面上,現(xiàn)在是異構(gòu)計(jì)算的天下,近年來(lái)傳統(tǒng)以CPU為核心的服務(wù)器市場(chǎng)增長(zhǎng)比較平緩,而GPU服務(wù)器的增速迅猛,年增長(zhǎng)率據(jù)稱(chēng)超60%。
只不過(guò)在現(xiàn)階段,國(guó)產(chǎn)替代方案還要在CUDA生態(tài)的基礎(chǔ)上推廣自己的芯片產(chǎn)品,在兼容CUDA的同時(shí),建設(shè)新生態(tài)。在這個(gè)過(guò)程中,每一步都關(guān)鍵且充滿(mǎn)挑戰(zhàn)。
潛在因素則在于5G時(shí)代的到來(lái)推動(dòng)了物聯(lián)網(wǎng)的迅猛發(fā)展,應(yīng)用場(chǎng)景更加豐富多元,這要求云端的計(jì)算資源能應(yīng)對(duì)各種復(fù)雜場(chǎng)景的需求提供豐富靈活的計(jì)算支撐,工程師們肯定更愿意將能“通吃”的芯片焊在服務(wù)器上。
圍繞GPGPU,國(guó)外已是龍爭(zhēng)虎斗,反觀(guān)國(guó)內(nèi),能夠洞悉GPGPU發(fā)展機(jī)遇并付諸行動(dòng)的芯片廠(chǎng)商少之又少。
華為是為數(shù)不多看到通用GPU趨勢(shì)的芯片廠(chǎng)商之一,而且看起來(lái)正在嘗試兩條腿走路通往GPGPU的路上。
結(jié)尾:
GPGPU這個(gè)相對(duì)于PC整個(gè)歷史還算是比較新的概念,經(jīng)過(guò)十余年的發(fā)展已經(jīng)不僅局限于PC,還走向了其他領(lǐng)域,扎根于我們生活的每個(gè)角落。
GPGPU已經(jīng)在許多云計(jì)算平臺(tái)上得到了應(yīng)用,相信在以后,GPU會(huì)更加深入我們電子生活的方方面面,在那里默默地發(fā)熱。