編者按
關(guān)于“彎道超車”,行業(yè)內(nèi)很多人士對(duì)此嗤之以鼻,他們認(rèn)為:做事情要腳踏實(shí)地,持之以恒,才有可能超越。
但這兩者并不矛盾:
在已有的不斷發(fā)展的領(lǐng)域,我們需要“數(shù)十年如一日”不斷的努力,才有可能逐漸追趕上世界先進(jìn)水平,才有可能從追趕到齊頭并進(jìn)甚至超越;比如航天科技領(lǐng)域。
但在一些行業(yè)變革期,我們需要盡早布局,大干快上,從而形成領(lǐng)先優(yōu)勢(shì);比如從燃油車向電動(dòng)車發(fā)展的歷史發(fā)展機(jī)遇。
今天這篇文章,我們探討一下,在大算力芯片領(lǐng)域“彎道超車”的機(jī)會(huì)。
1 關(guān)于計(jì)算架構(gòu)階段的劃分
圖靈獎(jiǎng)獲得者John Hennessy總結(jié)了計(jì)算機(jī)體系結(jié)構(gòu)的四個(gè)時(shí)代和即將興起的第五個(gè)時(shí)代:
第一代,晶體管時(shí)代,指令集架構(gòu)出現(xiàn)之前,計(jì)算機(jī)架構(gòu)各不相同;
第二代,小規(guī)模和中等規(guī)模集成電路時(shí)代,出現(xiàn)支持指令集架構(gòu)的CPU處理器;
第三代,大規(guī)模和超大規(guī)模集成電路時(shí)代,指令級(jí)并行以及CISC和RISC混戰(zhàn);
第四代,超大規(guī)模集成電路的多核處理器并行時(shí)代;
第五代,從2016年超大規(guī)模的領(lǐng)域?qū)S锰幚砥鳎―SA)時(shí)代。
上面計(jì)算機(jī)體系結(jié)構(gòu)的時(shí)代劃分,是站在單處理器引擎視角進(jìn)行的。我們參考上述五個(gè)時(shí)代的劃分,并且站在多處理器引擎計(jì)算架構(gòu)從簡(jiǎn)單到復(fù)雜的發(fā)展視角,重新進(jìn)行了如下的發(fā)展階段劃分:
第一階段,單CPU的串行計(jì)算;
第二階段,多CPU的同構(gòu)并行計(jì)算;
第三階段,CPU+GPU的異構(gòu)并行計(jì)算;
第四階段,CPU+DSA的異構(gòu)并行計(jì)算;
第五階段,(還在萌芽期的)多種異構(gòu)融合的超異構(gòu)并行計(jì)算。
如果我們?yōu)橛?jì)算架構(gòu)再加一個(gè)約束——通用,則計(jì)算架構(gòu)可以劃分為三個(gè)階段:
第一階段,CPU同構(gòu)計(jì)算(單核CPU階段可以合并進(jìn)CPU同構(gòu)計(jì)算);
第二階段,基于GPU的同構(gòu)計(jì)算(DSA是一種偏定制的架構(gòu),單個(gè)DSA的異構(gòu)不屬于通用計(jì)算范疇);
第三階段,基于CPU+GPU+DSAs的超異構(gòu)計(jì)算。
“二八定律”無(wú)處不在:隨著系統(tǒng)的擴(kuò)大,會(huì)逐漸沉淀許多共性的計(jì)算任務(wù)。我們定性的分析一下,依據(jù)二八定律:
在CPU同構(gòu)計(jì)算階段,100%工作由CPU完成;
但在GPU異構(gòu)階段,80%工作由GPU完成,CPU只完成剩余的20%的工作;
而在超異構(gòu)計(jì)算階段,則80%的工作由各類更高效的DSA完成,GPU只完成剩余20%工作的80%,即16%的工作,剩余的4%交給CPU。
2 從異構(gòu)到超異構(gòu)
2.1 CPU性能瓶頸,異構(gòu)計(jì)算成為主流
上世紀(jì)80-90年代,每18個(gè)月,CPU性能提升一倍;如今,CPU性能提升每年只有3%,要想性能翻倍,需要20年。雖然CPU的性能提升幾乎停滯,但對(duì)性能和算力的更高需求,是永無(wú)止境的,例如:
2012-2018年共6年時(shí)間里,人們對(duì)于AI算力的需求增長(zhǎng)了超過(guò)30萬(wàn)倍;隨著BERT、GPT等大模型的發(fā)展,算力需求每2個(gè)月就翻一倍。
隨著大模型的發(fā)展,對(duì)算力的需求水漲船高,要想實(shí)現(xiàn)L5級(jí)別的自動(dòng)駕駛算力,則需要上萬(wàn)TOPS。與此同時(shí),隨著自動(dòng)駕駛進(jìn)入L5階段,對(duì)娛樂(lè)的需求必然猛增。多域融合的智能汽車綜合算力需求預(yù)計(jì)會(huì)超過(guò)兩萬(wàn)TOPS。
Intel前SVP拉加·庫(kù)德里表示,要想實(shí)現(xiàn)元宇宙級(jí)別的用戶體驗(yàn),需要當(dāng)前的算力提升1000倍。
從2012年深度學(xué)習(xí)興起開始,隨著AI等大算力場(chǎng)景的算力需求越來(lái)越大,異構(gòu)計(jì)算已經(jīng)成為計(jì)算架構(gòu)的主流。
2.2 異構(gòu)計(jì)算的問(wèn)題
性能和靈活性的矛盾:系統(tǒng)越復(fù)雜,越需要靈活的處理器;性能挑戰(zhàn)越大,越需要定制的加速處理器。問(wèn)題的本質(zhì)在于:?jiǎn)我坏奶幚砥魇菬o(wú)法兼顧性能和靈活性的。
由于在異構(gòu)計(jì)算系統(tǒng)中,CPU不承擔(dān)主要的計(jì)算任務(wù),因此加速處理器決定了異構(gòu)系統(tǒng)的性能/靈活性特征:
GPU靈活性較好,但性能效率不夠極致;并且性能也逐漸接近瓶頸。
DSA性能好;但靈活性差,難以適應(yīng)算法的多變;架構(gòu)碎片化;落地困難。
FPGA功耗和成本高,定制開發(fā),落地案例少,通常用于原型驗(yàn)證。
ASIC功能完全固定,無(wú)法適應(yīng)靈活多變的復(fù)雜計(jì)算場(chǎng)景。
隨著異構(gòu)計(jì)算成為主流,異構(gòu)的系統(tǒng)越來(lái)越多。多異構(gòu)共存的異構(gòu)計(jì)算孤島問(wèn)題凸顯:
加速處理器只考慮本領(lǐng)域問(wèn)題,難以考慮全局協(xié)同;
各領(lǐng)域加速器之間交互困難;
中心單元的性能瓶頸問(wèn)題;
物理空間有限,無(wú)法容納多個(gè)物理的異構(gòu)加速卡。
2.3 多種異構(gòu)的融合:超異構(gòu)
要想高性能,需要硬件層次的更高集成度,更需要系統(tǒng)層次的多種異構(gòu)融合(即超異構(gòu))。
超異構(gòu)計(jì)算:系統(tǒng)復(fù)雜度顯著上升,系統(tǒng)更難駕馭。如何在快速提升性能的同時(shí),讓系統(tǒng)更好駕馭,是超異構(gòu)計(jì)算要解決的關(guān)鍵問(wèn)題。
3 大算力芯片的核心能力:通用、通用,還是通用
3.1 系統(tǒng)越來(lái)越大,對(duì)通用靈活性的要求遠(yuǎn)高于對(duì)性能的要求
在云和邊緣數(shù)據(jù)中心,都是清一色的服務(wù)器。這些服務(wù)器,可以服務(wù)各行各業(yè)、各種不同類型的場(chǎng)景的服務(wù)端工作任務(wù)的處理。CSP每年投入數(shù)以億計(jì)資金,上架數(shù)以萬(wàn)計(jì)的各種型號(hào)、各種配置的服務(wù)器的時(shí)候,嚴(yán)格來(lái)說(shuō),它并不知道,具體的某臺(tái)服務(wù)器最終會(huì)售賣給哪個(gè)用戶,這個(gè)用戶到底會(huì)在服務(wù)器上面跑什么應(yīng)用。并且,未來(lái),這個(gè)用戶的服務(wù)器資源回收之后再賣個(gè)下一個(gè)用戶,下一個(gè)用戶又用來(lái)干什么,也是不知道的。因此,對(duì)CSP來(lái)說(shuō),最理想的狀態(tài)是,存在一種服務(wù)器,足夠通用,即不管是哪種用戶哪種應(yīng)用運(yùn)行其上,都足夠高效快捷并且低成本。只有這樣,系統(tǒng)才夠簡(jiǎn)單而穩(wěn)定,運(yùn)維才能簡(jiǎn)單并且高效。然后要做的,就是把這種服務(wù)器大規(guī)模復(fù)制(大規(guī)模復(fù)制意味著單服務(wù)器成本的更快速下降)。
云和邊緣服務(wù)器場(chǎng)景,對(duì)系統(tǒng)的靈活性的要求遠(yuǎn)高于對(duì)性能的要求,需要提供的是綜合性的通用解決方案。最直接的例子就是以CPU為核心的服務(wù)器:CPU通用靈活性是最好的,如果CPU的性能夠用,大家絕對(duì)不喜歡用各種加速;如今是CPU性能不夠,逼迫著大家不得不去使用各種硬件加速。
數(shù)據(jù)中心硬件加速最大的教訓(xùn)是:在提升性能的同時(shí),最好不要損失系統(tǒng)的靈活性。其言下之意就是:目前各類加速芯片的優(yōu)化方案損失了靈活性,從而使得芯片的落地很困難。這是目前全行業(yè)的痛點(diǎn)所在。
3.2 集群計(jì)算,對(duì)芯片的彈性可擴(kuò)展能力提出了更高的要求
傳統(tǒng)的情況下,一個(gè)芯片對(duì)應(yīng)一個(gè)系統(tǒng)。我們關(guān)注業(yè)務(wù)常見的需求,并把它實(shí)現(xiàn)在芯片的功能和特征里。但在集群計(jì)算,特別是目前云網(wǎng)邊端不斷融合的超大集群計(jì)算形式下,則需要關(guān)注的是“以不變應(yīng)萬(wàn)變”,即足夠通用的、數(shù)以萬(wàn)計(jì)的計(jì)算設(shè)備組成的大規(guī)模計(jì)算集群,如何去覆蓋數(shù)以百萬(wàn)計(jì)的眾多計(jì)算場(chǎng)景的問(wèn)題。
這樣,對(duì)芯片內(nèi)的資源彈性和芯片的可擴(kuò)展性就提出了很高的要求,我們需要把數(shù)以萬(wàn)計(jì)的計(jì)算芯片的計(jì)算資源合并到一個(gè)計(jì)算資源池,然后還可以非常方便的快速切分和重組,供不同規(guī)格計(jì)算任務(wù)的使用。
3.3 芯片研發(fā)成本越來(lái)越高,需要芯片的大規(guī)模落地,來(lái)攤薄研發(fā)成本
摩爾定律預(yù)示了:芯片工藝的發(fā)展,會(huì)使得晶體管數(shù)量大約每?jī)赡晏嵘槐?。雖然工藝的進(jìn)步逐步進(jìn)入瓶頸,但Chiplet越來(lái)越成為行業(yè)發(fā)展的重點(diǎn),這使得芯片的晶體管數(shù)量可以再一次數(shù)量級(jí)的提升。
在先進(jìn)工藝的設(shè)計(jì)成本方面,知名半導(dǎo)體研究機(jī)構(gòu)Semiengingeering統(tǒng)計(jì)了不同工藝下芯片所需費(fèi)用(費(fèi)用包括了):
28nm節(jié)點(diǎn)開發(fā)芯片只需要5130萬(wàn)美元;
16nm節(jié)點(diǎn)則需要1億美元;
7nm節(jié)點(diǎn)需要2.97億美元;
到了5nm節(jié)點(diǎn),費(fèi)用高達(dá)5.42億美元;
3nm節(jié)點(diǎn)的研發(fā)費(fèi)用,預(yù)計(jì)將接近10億美元。
就意味著,大芯片需要足夠通用,足夠大范圍落地,才能在商業(yè)邏輯上成立。做一個(gè)保守的估算:
終端場(chǎng)景,(大)芯片的銷售量至少需要達(dá)到數(shù)千萬(wàn)級(jí)才能有效攤薄一次性的研發(fā)成本;
在數(shù)據(jù)中心場(chǎng)景,則需要50萬(wàn)甚至100萬(wàn)以上的銷售量,才能有效攤薄研發(fā)成本。
4 超異構(gòu)計(jì)算的載體:通用的超異構(gòu)處理器
通用的超異構(gòu)處理器(GP-HPU, General Purpose Hyper-heterogeneous Processing Unit, 通用超異構(gòu)處理器),即能夠覆蓋幾乎所有場(chǎng)景的、以超異構(gòu)計(jì)算為基礎(chǔ)架構(gòu)的、綜合性的大算力單芯片。
4.1 超異構(gòu)計(jì)算的關(guān)鍵,在于各類加速處理器的高效交互
SOC和HPU都是多異構(gòu)組成的混合計(jì)算,但SOC本質(zhì)上屬于異構(gòu)計(jì)算,而HPU屬于超異構(gòu)計(jì)算。SOC僅僅是異構(gòu)的集成,而HPU則需要實(shí)現(xiàn)異構(gòu)的融合。
在SOC系統(tǒng)里,每個(gè)加速單元可以看做是CPU+加速單元組成一個(gè)異構(gòu)子系統(tǒng);不同的異構(gòu)子系統(tǒng)之間在硬件上是沒(méi)有必然聯(lián)系,需要通過(guò)軟件構(gòu)建異構(gòu)子系統(tǒng)之間的交互和協(xié)同。在CPU性能逐漸瓶頸的當(dāng)下,這通常也意味著性能的約束。
而在HPU里,需要實(shí)現(xiàn)硬件層次的不同加速單元之間的直接的、高效的數(shù)據(jù)交互,不需要CPU的參與。在硬件層次,超異構(gòu)需要實(shí)現(xiàn)CPU、GPU以及各種其他加速單元之間的對(duì)等的深度交互、協(xié)同和融合。
4.2 目前,多個(gè)獨(dú)立芯片組成超異構(gòu)計(jì)算,還比較難
依據(jù)性能/靈活性特征,可以將系統(tǒng)分為三個(gè)層次:
基礎(chǔ)設(shè)施層。隨著系統(tǒng)越來(lái)越復(fù)雜,在系統(tǒng)中,有很多非常確定性的任務(wù),比如虛擬化、網(wǎng)絡(luò)、存儲(chǔ)等,這些可以稱為基礎(chǔ)設(shè)施型任務(wù)。這類任務(wù)因?yàn)槠浯_定性的特點(diǎn),特別適合DSA/ASIC級(jí)別的加速處理器處理。
另一個(gè)極端,即不太好加速的應(yīng)用部分。在硬件平臺(tái)上到底會(huì)運(yùn)行什么樣的應(yīng)用,通常是不可預(yù)知的,或者說(shuō)應(yīng)用是非常不確定的。因此,針對(duì)應(yīng)用,最好是用CPU(+協(xié)處理器)平臺(tái)。CPU平臺(tái)還有另外一個(gè)價(jià)值,兜底,凡是無(wú)法加速或者不存在合適加速處理器的工作任務(wù)都可以放在CPU平臺(tái)處理。
處于兩個(gè)極端之間的部分任務(wù),則通常是性能敏感的應(yīng)用任務(wù),比如AI訓(xùn)練、視頻圖形處理、語(yǔ)音處理等。這類任務(wù)具有一定的確定性,但通常還是需要平臺(tái)的一些彈性的能力,其性能/靈活性特征處于前面兩個(gè)極端的中間。因此比較適合GPU、FPGA這樣的處理器平臺(tái)。
理論上,我們可以按照超異構(gòu)計(jì)算的功能劃分和系統(tǒng)交互,把三類功能實(shí)現(xiàn)在CPU、GPU和DPU三芯片里,但目前三者處于相互競(jìng)爭(zhēng)的狀態(tài),三芯片協(xié)作的方式,本質(zhì)上只能實(shí)現(xiàn)以CPU為中心的異構(gòu)計(jì)算形態(tài),而無(wú)法實(shí)現(xiàn)三者深度協(xié)同的超異構(gòu)計(jì)算形態(tài)。
并且,三顆芯片,通常來(lái)自于不同的芯片公司,各個(gè)芯片都很難放棄以自己為核心的系統(tǒng)運(yùn)行方式。要想這些芯片公司能夠更多的考慮和其他芯片的協(xié)同,從而實(shí)現(xiàn)三芯片的通力合作,很難很難。
基于CPU、GPU和DPU三芯片的超異構(gòu)計(jì)算,還有很長(zhǎng)的路要走。
4.3 在單芯片層次,實(shí)現(xiàn)相對(duì)簡(jiǎn)單的超異構(gòu)計(jì)算,是可行的路徑? ?
單芯片,不需要考慮和外部芯片的協(xié)同,只需要考慮內(nèi)部不同單元間的深度交互。一切都在自己的掌控之下,因此單芯片超異構(gòu)計(jì)算,是相對(duì)容易落地的實(shí)現(xiàn)方式。
此外,單芯片方式,也有其他的好處:
更高集成度,代表著更高的性能,以及更低的成本;
內(nèi)部交互更高效,代表著沒(méi)有各類性能瓶頸約束,可以實(shí)現(xiàn)更高的性能。
5 超異構(gòu)計(jì)算的挑戰(zhàn),不在芯片集成,而在系統(tǒng)的融合和系統(tǒng)的可駕馭? ??
5.1 硬件層次的多異構(gòu)集成,不是難度
工藝持續(xù)進(jìn)步、3D堆疊以及Chiplet多Die互聯(lián),使得芯片從2D->3D->4D。這些技術(shù)的進(jìn)步,意味著在芯片這個(gè)尺度,可以容納更多的晶體管,也意味著芯片的規(guī)模越來(lái)越大。
Intel宣布,在2030年,將實(shí)現(xiàn)單芯片層次集成1萬(wàn)億晶體管,這意味著在單芯片層次,可以構(gòu)建,相比目前,規(guī)模數(shù)量級(jí)提升的系統(tǒng)。
實(shí)現(xiàn)更多異構(gòu)的集成,是芯片制造和封裝的核心競(jìng)爭(zhēng)力,不是芯片設(shè)計(jì)公司(Fabless)的核心競(jìng)爭(zhēng)力。
5.2 挑戰(zhàn)在于,軟件層次,如何把多個(gè)系統(tǒng)整合到一個(gè)宏系統(tǒng)
我們以NVIDIA 2000 TOPS的自動(dòng)駕駛汽車中央控制器CCU為例。Thor能夠?qū)崿F(xiàn)多域融合計(jì)算,它可以為自動(dòng)駕駛和車載娛樂(lè)劃分任務(wù)。通常,這些各種類型的功能由分布在車輛各處的數(shù)十個(gè)控制單元控制。制造商可以利用Thor實(shí)現(xiàn)所有功能的融合,來(lái)整合整個(gè)車輛,而不是依賴這些分布式的ECU/DCU。
傳統(tǒng)SOC是單芯片單系統(tǒng),而Thor實(shí)現(xiàn)了單芯片多個(gè)系統(tǒng)共存。在一個(gè)硬件上,把多個(gè)架構(gòu)不同的系統(tǒng)整合成一個(gè)宏系統(tǒng),則涉及到整個(gè)系統(tǒng)軟硬件架構(gòu)的重構(gòu)。
在系統(tǒng)和架構(gòu)層面,如何實(shí)現(xiàn)更多系統(tǒng)的融合,是芯片設(shè)計(jì)公司的核心競(jìng)爭(zhēng)力。
5.3 更大的挑戰(zhàn)在于,如何讓超異構(gòu)更好駕馭?
串行計(jì)算符合人類思維,編程相對(duì)最簡(jiǎn)單;同構(gòu)并行的編程,就要復(fù)雜很多;異構(gòu)并行,則更是難上加難;那么超異構(gòu)并行呢?那就是難上加難再加難。
要想駕馭超異構(gòu),核心的思路跟駕馭異構(gòu)計(jì)算的思路一致,就是要想方設(shè)法降低軟硬件系統(tǒng)的復(fù)雜度。一些典型的降低復(fù)雜度的方法:
復(fù)雜大系統(tǒng)分解成簡(jiǎn)單小系統(tǒng),實(shí)現(xiàn)芯片內(nèi)部的分布式計(jì)算,每個(gè)內(nèi)部子節(jié)點(diǎn)的復(fù)雜度較低,更加可控一些。
依據(jù)系統(tǒng)的性能/靈活性特征進(jìn)行分層。不同層次,采用不同的處理策略。
開放:讓處理器架構(gòu)和生態(tài)收斂,防止碎片化。同時(shí),行業(yè)內(nèi)也能相互分工協(xié)作,而不是一家公司面對(duì)所有問(wèn)題。
軟硬件深度融合,讓硬件具有更多軟件的能力。
6 第三代通用計(jì)算,大算力芯片“彎道超車”的歷史時(shí)機(jī)? ?
CPU同構(gòu)是第一代通用計(jì)算,成就了Intel的王者地位;GPU異構(gòu)是第二代通用計(jì)算,隨著人工智能的火爆,助推NVIDIA市值超過(guò)了10000億美金,遠(yuǎn)超Intel、AMD和高通的總和。
但技術(shù)發(fā)展不會(huì)停止。隨著AI大模型、自動(dòng)駕駛、元宇宙等超高算力需求的領(lǐng)域快速發(fā)展,算力仍需持續(xù)快速提升,算力成本必須數(shù)量級(jí)下降,計(jì)算架構(gòu)需要從同構(gòu)、異構(gòu)走向多種異構(gòu)融合的超異構(gòu)。
第一代和第二代通用計(jì)算CPU、GPU,我們已經(jīng)落后,目前國(guó)內(nèi)有眾多公司重?fù)?dān)在肩,在拼命追趕。而第三代通用計(jì)算(超異構(gòu)計(jì)算)的發(fā)展機(jī)遇,給了我們“彎道超車”的歷史時(shí)機(jī)。
當(dāng)前,Intel和NVIDIA正在通用超異構(gòu)計(jì)算領(lǐng)域做早期布局,歷史機(jī)遇稍縱即逝。我們需要站在國(guó)家戰(zhàn)略的高度,快速布局,并大力投入。