小編說:回顧計(jì)算機(jī)的發(fā)展歷史,從串行到并行,從同構(gòu)到異構(gòu),接下來會(huì)持續(xù)進(jìn)化到超異構(gòu):第一階段,串行計(jì)算。單核CPU和ASIC等都屬于串行計(jì)算。 第二階段,同構(gòu)并行計(jì)算。CPU多核并行和GPU數(shù)以千計(jì)眾核并行均屬于同構(gòu)并行計(jì)算。 第三階段,異構(gòu)并行計(jì)算。CPU+GPU、CPU+FPGA、CPU+DSA以及SOC都屬于異構(gòu)并行計(jì)算。(SOC屬于異構(gòu)的原因是,其他所有引擎的處理都是在CPU的控制之下,其他引擎難以直接數(shù)據(jù)通信。) 未來,將走向第四階段,超異構(gòu)并行階段。把眾多的CPU+xPU“有機(jī)”集成起來,形成超異構(gòu)。
圖源:軟硬件融合
回顧歷史,從串行計(jì)算到并行計(jì)算
① 串行計(jì)算和并行計(jì)算
圖源:軟硬件融合軟件一般是為串行計(jì)算編寫的:① 一個(gè)問題被分解成一組指令流; ② 在單個(gè)處理器上執(zhí)行; ③ 指令是依次執(zhí)行的(處理器內(nèi)部可能存在非依賴指令亂序,但宏觀效果上依然是串行指令流的執(zhí)行)。
圖源:軟硬件融合
并行計(jì)算就是同時(shí)使用多個(gè)計(jì)算資源來解決一個(gè)計(jì)算問題:①一個(gè)問題被分解成可以同時(shí)解決的部分; ②每個(gè)部分進(jìn)一步分解為一系列指令; ③每個(gè)部分的指令在不同的處理器上同時(shí)執(zhí)行; ④需要采用整體控制/協(xié)調(diào)機(jī)制。 計(jì)算的問題應(yīng)該能夠:分解成可以同時(shí)解決的離散工作;隨時(shí)執(zhí)行多條程序指令;使用多個(gè)計(jì)算資源比使用單個(gè)計(jì)算資源在更短的時(shí)間內(nèi)解決問題。 計(jì)算的資源通常是:具有多個(gè)處理器/內(nèi)核的單臺(tái)計(jì)算機(jī);通過網(wǎng)絡(luò)(或總線)連接的任意數(shù)量的此類計(jì)算機(jī)。
② 多核CPU和眾核GPU
圖源:軟硬件融合
如上圖,是Intel Xeon Skylake的內(nèi)部架構(gòu)??梢钥吹?,此CPU是由28個(gè)CPU核組成的同構(gòu)并行。
圖源:軟硬件融合 上圖是NVIDIA發(fā)布的圖靈架構(gòu)GPU,此架構(gòu)GPU的核心處理引擎由如下部分組成:6個(gè)圖形處理簇(GPC);每個(gè)GPC有6個(gè)紋理處理簇(TPC),共計(jì)36個(gè)TPC;每個(gè)TPC有2個(gè)流式多核處理器(SM),總共72個(gè)SM。每個(gè)SM由64個(gè)CUDA核、8個(gè)Tensor核、1個(gè)RT核、4個(gè)紋理單元。 因此,圖靈架構(gòu)GPU總計(jì)有4608個(gè)CUDA核、576個(gè)Tensor核、72個(gè)RT核、288個(gè)紋理單元。 需要注意的是:GPU非圖靈完備,無法單獨(dú)運(yùn)行,需要和CPU一起,通過CPU+GPU的異構(gòu)方式才能工作。因?yàn)镃PU是圖靈完備的,可以自主運(yùn)行,因此,存在基于多核CPU組成的CPU芯片是同構(gòu)并行的。
從同構(gòu)并行到異構(gòu)并行,異構(gòu)計(jì)算蓬勃發(fā)展
① 同構(gòu)并行和異構(gòu)并行
圖源:軟硬件融合
但是,不存在除CPU外其他處理器引擎單獨(dú)存在的并行計(jì)算系統(tǒng),如GPU、FPGA、DSA、ASIC等引擎同構(gòu)并行的系統(tǒng)。因?yàn)檫@些處理引擎/芯片是非圖靈完備的,它們都是作為CPU的加速器而存在。因此,其他處理引擎的并行計(jì)算系統(tǒng)即為CPU+xPU的異構(gòu)并行,大體分為三類: ①CPU+GPU。CPU+GPU是目前流行的異構(gòu)計(jì)算系統(tǒng),在HPC、圖形圖像處理以及AI訓(xùn)練/推理等場(chǎng)景得到廣泛應(yīng)用。 ②CPU+FPGA。目前數(shù)據(jù)中心流行的FaaS服務(wù),利用FPGA的局部可編程能力,基于FPGA開發(fā)運(yùn)行框架,以及借助第三方ISV支持或自研的方式,構(gòu)建面向各種應(yīng)用場(chǎng)景的FPGA加速解決方案。 ③CPU+DSA。谷歌TPU是DSA架構(gòu)處理器,TPUv1采取獨(dú)立加速器的方式,實(shí)現(xiàn)CPU+DSA(TPU)的方式實(shí)現(xiàn)異構(gòu)并行。 此外,需要說明的是,由于ASIC功能固定,缺乏一定的靈活適應(yīng)能力,因此不存在CPU+單個(gè)ASIC的異構(gòu)計(jì)算。CPU+ASIC形態(tài)通常是CPU+多個(gè)ASIC組,或在SOC中,作為一個(gè)邏輯上獨(dú)立的異構(gòu)子系統(tǒng)存在的,需要與其他子系統(tǒng)協(xié)同工作。
圖源:軟硬件融合
SOC本質(zhì)上也是異構(gòu)并行,SOC可以看做是CPU+GPU、CPU+ISP、CPU+Modem等多個(gè)異構(gòu)并行子系統(tǒng)組成的系統(tǒng)。
超異構(gòu)也可以看做是由多個(gè)邏輯上獨(dú)立的異構(gòu)子系統(tǒng)有機(jī)組成的,但SOC和超異構(gòu)不同:SOC的不同模塊通常無法直接高層次數(shù)據(jù)通信,而是通過CPU調(diào)度才能間接通信。SOC和超異構(gòu)的區(qū)別會(huì)在超異構(gòu)部分詳細(xì)介紹。
② 基于CPU+GPU的異構(gòu)并行
圖源:軟硬件融合
如圖所示,是典型的用于機(jī)器學(xué)習(xí)場(chǎng)景的GPU服務(wù)器主板拓?fù)浣Y(jié)構(gòu),是一個(gè)典型的SOB(System on Board,板級(jí)系統(tǒng))。在此GPU服務(wù)器的架構(gòu)里,通過主板,連接了兩個(gè)通用CPU和8個(gè)GPU加速卡。兩個(gè)CPU通過UPI/QPI相連;每個(gè)CPU通過兩條PCIe總線,分別連接1個(gè)PCIe交換機(jī);每個(gè)PCIe交換機(jī)再連接到兩個(gè)GPU;另外,GPU間還通過NVLink總線相互連接。
圖源:軟硬件融合
TPU是業(yè)界第一款DSA架構(gòu)芯片,上圖是TPU v1的結(jié)構(gòu)框圖。TPU v1通過PCIe Gen3 x16總線和CPU相連,從CPU發(fā)送指令到TPU的指令緩沖區(qū),由CPU控制TPU的運(yùn)行;數(shù)據(jù)交互在兩者的內(nèi)存之間進(jìn)行,由CPU發(fā)起控制,TPU的DMA執(zhí)行具體的數(shù)據(jù)搬運(yùn)。
從異構(gòu)持續(xù)進(jìn)化到超異構(gòu)
① CPU、GPU、DPU、AI等大算力芯片面臨的共同挑戰(zhàn)
在云計(jì)算、邊緣計(jì)算、終端超級(jí)計(jì)算機(jī)(如自動(dòng)駕駛)等復(fù)雜計(jì)算場(chǎng)景,對(duì)芯片的可編程能力要求非常高,甚至高過對(duì)性能的要求。如果不是基于CPU的摩爾定律失效,數(shù)據(jù)中心依然會(huì)是CPU的天下(雖然CPU的性能效率是低的)。
性能和靈活可編程性,是影響大算力芯片大規(guī)模落地非常重要的兩個(gè)因素。兩者如何均衡,甚至兼顧,是大芯片設(shè)計(jì)永恒的話題。
CPU、GPU、DPU、AI等大算力芯片,面臨著共同的挑戰(zhàn),包括:
①單類型引擎性能和靈活性的矛盾。CPU靈活性好,但性能不夠;ASIC性能優(yōu)質(zhì),但靈活性不夠。
②不同用戶的業(yè)務(wù)差異以及用戶的業(yè)務(wù)迭代。針對(duì)這一問題,目前主要做法是針對(duì)場(chǎng)景定制。通過FPGA定制,規(guī)模太小,成本和功耗太高;通過芯片定制,導(dǎo)致場(chǎng)景碎片化,芯片難以大規(guī)模落地,難以攤薄成本。
③宏觀算力要求芯片能夠支撐大規(guī)模部署。宏觀算力與單位芯片算力,以及芯片的落地規(guī)模成正比。但各類性能提升的方案會(huì)損失可編程靈活性,使得芯片難以實(shí)現(xiàn)大規(guī)模部署,從而進(jìn)一步影響宏觀算力的增長。典型的例子就是目前AI芯片的大規(guī)模落地困難。
④芯片的一次性成本過高。數(shù)以億計(jì)的NRE成本,需要芯片的大規(guī)模落地,才能夠攤薄一次性成本。這就需要芯片足夠“通用”,在很多場(chǎng)景可以落地。
⑤生態(tài)建設(shè)的門檻。大芯片需要框架和生態(tài),門檻高且需要長期積累,小公司難以長期大量投入。
⑥計(jì)算平臺(tái)的融合。云網(wǎng)邊端融合,需要構(gòu)建統(tǒng)一的硬件平臺(tái)和系統(tǒng)堆棧。
⑦等等......
② 解決方案,把異構(gòu)計(jì)算的孤島連接在一起,形成超異構(gòu)
圖源:軟硬件融合
超異構(gòu)可以看做是CPU+CPU的同構(gòu)并行和CPU+其他xPU的異構(gòu)并行“有機(jī)”組合到一起,形成的一個(gè)新的超大系統(tǒng)。
圖源:軟硬件融合
超異構(gòu)是由CPU、GPU、FPGA、DSA、ASIC以及其他各種加速引擎“有機(jī)”組成的新的宏系統(tǒng)。
③ 超異構(gòu)和SOC的不同之處超異構(gòu)處理器HPU,可以算是SOC,但又跟傳統(tǒng)的SOC有很大的不同。如果無法認(rèn)識(shí)到這些不同,就無法理解到HPU的本質(zhì)。下表是一些典型的差異性對(duì)比。
圖源:軟硬件融合
為什么是現(xiàn)在(才興起超異構(gòu)計(jì)算)?
① 基于CPU的摩爾定律失效,引發(fā)連鎖反應(yīng)
系統(tǒng)越來越復(fù)雜,需要選擇越來越靈活的處理器;而性能挑戰(zhàn)越來越大,需要我們選擇定制加速的處理器。這是一對(duì)矛盾,拉扯著我們的各類算力芯片設(shè)計(jì)。本質(zhì)矛盾是:?jiǎn)我惶幚砥鳠o法兼顧性能和靈活性,即使我們拼盡全力平衡,也只“治標(biāo)不治本”。
CPU靈活性很好,在符合性能要求的情況下,在云計(jì)算、邊緣計(jì)算等復(fù)雜計(jì)算場(chǎng)景,CPU是優(yōu)質(zhì)的處理器。但受限于CPU的性能瓶頸,以及對(duì)算力需求的持續(xù)不斷上升,(站在算力視角)CPU逐漸成為了非主流的算力芯片。
CPU+xPU的異構(gòu)計(jì)算,由于主要算力是由xPU完成,因此,xPU的性能/靈活性特征,決定了整個(gè)異構(gòu)計(jì)算的性能、靈活性特征:
①CPU+GPU的異構(gòu)計(jì)算。雖然在足夠靈活的基礎(chǔ)上,能夠滿足(相對(duì)CPU的)數(shù)量級(jí)的性能提升,但算力效率仍然無法做到更優(yōu)質(zhì)。
②CPU+DSA的異構(gòu)計(jì)算。由于DSA的靈活性較低,因此不適合應(yīng)用層加速。典型案例是AI,目前主要是由基于CPU+GPU完成訓(xùn)練和部分推理,DSA架構(gòu)的AI芯片目前還沒有大范圍落地。
② Chiplet技術(shù)成熟,量變引起質(zhì)變:需要架構(gòu)創(chuàng)新,而不是簡(jiǎn)單集成
圖源:軟硬件融合
假設(shè),在沒有Chiplet的時(shí)候,我們的CPU或xPU可以集成50個(gè)核,有了Chiplet互聯(lián),把4個(gè)DIE拼起來,我們就可以單芯片集成200個(gè)核心。 但是,上圖的平行擴(kuò)展方式,真的就是Chiplet的價(jià)值嗎? 結(jié)論是,這樣的Chiplet集成,暴殄天物!
圖源:軟硬件融合
Chiplet使得我們?cè)趩蝹€(gè)芯片的層次,可以構(gòu)建規(guī)模數(shù)量級(jí)提升的超大系統(tǒng)。這樣,我們可以利用大系統(tǒng)的一些“特點(diǎn)”,來進(jìn)一步優(yōu)化。這些特點(diǎn)是:
①復(fù)雜系統(tǒng)是由分層分塊的任務(wù)組成;
②基礎(chǔ)設(shè)施層的任務(wù),相對(duì)確定,適合放在DSA/ASIC??梢栽跐M足任務(wù)基本靈活性的基礎(chǔ)上,極限的提升性能;
③應(yīng)用不可加速部分的任務(wù),不確定,適合CPU。系統(tǒng)符合二八定律,用戶關(guān)心的應(yīng)用只占整個(gè)系統(tǒng)的20%,而不可加速部分,占比通常會(huì)少于10%。為了提供用戶優(yōu)質(zhì)的體驗(yàn),這部分任務(wù)建議放在CPU上。
④應(yīng)用可加速部分的任務(wù),由于應(yīng)用的算法差異化和迭代較大,適合放在GPU、FPGA等彈性加速引擎??梢蕴峁┳銐蜢`活可編程的同時(shí),可以提供盡可能好的性能。
圖源:軟硬件融合
這樣,基于超異構(gòu)實(shí)現(xiàn)的整個(gè)系統(tǒng):
①從宏觀視角看,80%甚至90%以上的計(jì)算,都是在DSA中完成。這樣,整個(gè)系統(tǒng)是接近于DSA/ASIC的優(yōu)質(zhì)性能;
②用戶關(guān)心的應(yīng)用不可加速部分,只占10%以內(nèi),依然運(yùn)行在CPU上。也即用戶看到的仍然是100%的CPU級(jí)別的靈活可編程性。
也即,通過超異構(gòu)架構(gòu),可以在實(shí)現(xiàn)靈活性的同時(shí),實(shí)現(xiàn)優(yōu)質(zhì)的性能。
③ 超異構(gòu)更難駕馭,需要?jiǎng)?chuàng)新的理念和技術(shù)
異構(gòu)編程很難,NVIDIA經(jīng)過數(shù)年的努力,才讓CUDA的編程對(duì)開發(fā)者足夠友好,形成了健康的生態(tài)。超異構(gòu)就更是難上加難:超異構(gòu)的難,不僅僅體現(xiàn)在編程上,也體現(xiàn)在處理引擎的設(shè)計(jì)和實(shí)現(xiàn)上,還體現(xiàn)在整個(gè)系統(tǒng)的軟硬件能力整合上。那么,該如何更好的駕馭超異構(gòu)?經(jīng)過慎重思考,我們從以下幾個(gè)方面入手:
①性能和靈活性。從系統(tǒng)的角度,系統(tǒng)的任務(wù)從CPU往硬件加速下沉,如何選擇合適的處理引擎,達(dá)到優(yōu)質(zhì)性能的同時(shí),有優(yōu)越的靈活性。并且不僅僅是平衡,更是兼顧。
②編程及易用性。系統(tǒng)逐漸從硬件定義軟件,轉(zhuǎn)向了軟件定義硬件。如何利用這些特征,如何利用已有軟件資源,以及如何融入云服務(wù)。
③產(chǎn)品。用戶的需求,除了需求本身之外,還需要考慮不同用戶需求的差異性,和單個(gè)用戶需求的長期迭代。該如何提供給用戶更好的產(chǎn)品,滿足不同用戶短期和長期的需求。授人以魚不如授人以漁,該如何提供用戶沒有特定的具體功能的、性能優(yōu)質(zhì)的、完全可編程的硬件平臺(tái)。
④等等。
軟硬件融合,為解決上述問題,提供了成體系化的理念、方法、技術(shù)和解決方案,為輕松駕馭超異構(gòu)提供了切實(shí)可行的路徑。
關(guān)于軟硬件融合,請(qǐng)看文章:軟硬件融合:超異構(gòu)算力革命。
未來,所有的大算力芯片都是超異構(gòu)芯片
圖源:軟硬件融合
Intel高級(jí)副總裁兼加速計(jì)算系統(tǒng)和圖形部門負(fù)責(zé)人Raja Koduri表示:要想實(shí)現(xiàn)《雪崩》和《頭號(hào)玩家》中天馬行空的體驗(yàn),需將現(xiàn)在的算力至少再提升1000倍。應(yīng)用不斷發(fā)展,軟硬件根本的矛盾仍然是“硬件的性能提升,永遠(yuǎn)趕不上軟件對(duì)性能的需求”??梢哉f,對(duì)算力的需求,永無止境!
要保證宏觀算力的精準(zhǔn),一方面是要持續(xù)不斷的提升性能,另一方面還要保證芯片的靈活可編程性。唯有通過超異構(gòu)的方式,分門別類,針對(duì)每個(gè)任務(wù)的特征采用優(yōu)質(zhì)的引擎方案,才能在確保靈活可編程的同時(shí),實(shí)現(xiàn)優(yōu)質(zhì)的性能。從而,真正實(shí)現(xiàn)性能和靈活性的既要又要。
單兵作戰(zhàn),顧此失彼;團(tuán)隊(duì)協(xié)作,互補(bǔ)共贏。
未來,唯有超異構(gòu)計(jì)算,才能保證算力數(shù)量級(jí)提升的同時(shí),不損失靈活可編程性。才能夠真正實(shí)現(xiàn)宏觀算力的數(shù)量級(jí)提升,才能夠更好的支撐數(shù)字經(jīng)濟(jì)社會(huì)發(fā)展。
審核編輯 :李倩
-
處理器
+關(guān)注
關(guān)注
68文章
18948瀏覽量
227408 -
cpu
+關(guān)注
關(guān)注
68文章
10721瀏覽量
209602 -
串行
+關(guān)注
關(guān)注
0文章
235瀏覽量
33698
原文標(biāo)題:超異構(gòu)計(jì)算:大算力芯片的未來
文章出處:【微信號(hào):electronicaChina,微信公眾號(hào):e星球】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論