乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      超異構(gòu)計(jì)算:大算力芯片的未來(lái)

       山蟹居 2022-06-20 發(fā)布于上海

      編者按:

      回顧計(jì)算機(jī)的發(fā)展歷史,從串行到并行,從同構(gòu)到異構(gòu),接下來(lái)會(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ù)通信。)

      • 未來(lái),將走向第四階段,超異構(gòu)并行階段。把眾多的CPU+xPU“有機(jī)”集成起來(lái),形成超異構(gòu)。

      文章圖片1
      1 回顧歷史,從串行計(jì)算到并行計(jì)算

      1.1 串行計(jì)算和并行計(jì)算

      文章圖片2

      軟件一般是為串行計(jì)算編寫(xiě)的:

      • 一個(gè)問(wèn)題被分解成一組指令流;

      • 在單個(gè)處理器上執(zhí)行;

      • 指令是依次執(zhí)行的(處理器內(nèi)部可能存在非依賴指令亂序,但宏觀效果上依然是串行指令流的執(zhí)行)。

      文章圖片3

      并行計(jì)算就是同時(shí)使用多個(gè)計(jì)算資源來(lái)解決一個(gè)計(jì)算問(wèn)題:

      • 一個(gè)問(wèn)題被分解成可以同時(shí)解決的部分;

      • 每個(gè)部分進(jìn)一步分解為一系列指令;

      • 每個(gè)部分的指令在不同的處理器上同時(shí)執(zhí)行;

      • 需要采用整體控制/協(xié)調(diào)機(jī)制。

      計(jì)算的問(wèn)題應(yīng)該能夠:分解成可以同時(shí)解決的離散工作;隨時(shí)執(zhí)行多條程序指令;使用多個(gè)計(jì)算資源比使用單個(gè)計(jì)算資源在更短的時(shí)間內(nèi)解決問(wèn)題。

      計(jì)算的資源通常是:具有多個(gè)處理器/內(nèi)核的單臺(tái)計(jì)算機(jī);通過(guò)網(wǎng)絡(luò)(或總線)連接的任意數(shù)量的此類計(jì)算機(jī)。

      1.2 多核CPU和眾核GPU

      文章圖片4

      如上圖,是Intel Xeon Skylake的內(nèi)部架構(gòu)。可以看到,此CPU是由28個(gè)CPU核組成的同構(gòu)并行。

      文章圖片5

      上圖是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非圖靈完備,無(wú)法單獨(dú)運(yùn)行,需要和CPU一起,通過(guò)CPU+GPU的異構(gòu)方式才能工作。

      2 從同構(gòu)并行到異構(gòu)并行,異構(gòu)計(jì)算蓬勃發(fā)展

      2.1 同構(gòu)并行和異構(gòu)并行

      文章圖片6

      如上一節(jié)講到的,因?yàn)镃PU是圖靈完備的,可以自主運(yùn)行,因此,存在基于多核CPU組成的CPU芯片是同構(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開(kāi)發(fā)運(yùn)行框架,以及借助第三方ISV支持或自研的方式,構(gòu)建面向各種應(yīng)用場(chǎng)景的FPGA加速解決方案。

      • CPU+DSA。谷歌TPU是第一個(gè)DSA架構(gòu)處理器,TPUv1采取獨(dú)立加速器的方式,實(shí)現(xiàn)CPU+DSA(TPU)的方式實(shí)現(xiàn)異構(gòu)并行。

      此外,需要說(shuō)明的是,由于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é)同工作。

      文章圖片7

      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的不同模塊通常無(wú)法直接高層次數(shù)據(jù)通信,而是通過(guò)CPU調(diào)度才能間接通信。SOC和超異構(gòu)的區(qū)別會(huì)在超異構(gòu)部分詳細(xì)介紹。

      2.2 基于CPU+GPU的異構(gòu)并行

      文章圖片8

      如圖所示,是典型的用于機(jī)器學(xué)習(xí)場(chǎng)景的GPU服務(wù)器主板拓?fù)浣Y(jié)構(gòu),是一個(gè)典型的SOB(System on Board,板級(jí)系統(tǒng))。在此GPU服務(wù)器的架構(gòu)里,通過(guò)主板,連接了兩個(gè)通用CPU和8個(gè)GPU加速卡。兩個(gè)CPU通過(guò)UPI/QPI相連;每個(gè)CPU通過(guò)兩條PCIe總線,分別連接1個(gè)PCIe交換機(jī);每個(gè)PCIe交換機(jī)再連接到兩個(gè)GPU;另外,GPU間還通過(guò)NVLink總線相互連接。

      2.3 基于CPU+DSA的異構(gòu)并行

      文章圖片9

      TPU是業(yè)界第一款DSA架構(gòu)芯片,上圖是TPU v1的結(jié)構(gòu)框圖。TPU v1通過(guò)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)。

      3 從異構(gòu)持續(xù)進(jìn)化到超異構(gòu)

      3.1 CPU、GPU、DPU、AI等大算力芯片面臨的共同挑戰(zhàn)

      在云計(jì)算、邊緣計(jì)算、終端超級(jí)計(jì)算機(jī)(如自動(dòng)駕駛)等復(fù)雜計(jì)算場(chǎng)景,對(duì)芯片的可編程能力要求非常高,甚至高過(guò)對(duì)性能的要求。如果不是基于CPU的摩爾定律失效,數(shù)據(jù)中心依然會(huì)是CPU的天下(雖然CPU的性能效率是最低的)。

      性能和靈活可編程性,是影響大算力芯片大規(guī)模落地非常重要的兩個(gè)因素。兩者如何均衡,甚至兼顧,是大芯片設(shè)計(jì)永恒的話題。

      CPU、GPU、DPU、AI等大算力芯片,面臨著共同的挑戰(zhàn),包括:

      • 單類型引擎性能和靈活性的矛盾。CPU靈活性好,但性能不夠;ASIC性能極致,但靈活性不夠。

      • 不同用戶的業(yè)務(wù)差異以及用戶的業(yè)務(wù)迭代。針對(duì)這一問(wèn)題,目前主要做法是針對(duì)場(chǎng)景定制。通過(guò)FPGA定制,規(guī)模太小,成本和功耗太高;通過(guò)芯片定制,導(dǎo)致場(chǎng)景碎片化,芯片難以大規(guī)模落地,難以攤薄成本。

      • 宏觀算力要求芯片能夠支撐大規(guī)模部署。宏觀算力與單位芯片算力,以及芯片的落地規(guī)模成正比。但各類性能提升的方案會(huì)損失可編程靈活性,使得芯片難以實(shí)現(xiàn)大規(guī)模部署,從而進(jìn)一步影響宏觀算力的增長(zhǎng)。最典型的例子就是目前AI芯片的大規(guī)模落地困難。

      • 芯片的一次性成本過(guò)高。數(shù)以億計(jì)的NRE成本,需要芯片的大規(guī)模落地,才能夠攤薄一次性成本。這就需要芯片足夠“通用”,在很多場(chǎng)景可以落地。

      • 生態(tài)建設(shè)的門(mén)檻。大芯片需要框架和生態(tài),門(mén)檻高且需要長(zhǎng)期積累,小公司難以長(zhǎng)期大量投入。

      • 計(jì)算平臺(tái)的融合。云網(wǎng)邊端融合,需要構(gòu)建統(tǒng)一的硬件平臺(tái)和系統(tǒng)堆棧。

      • 等等。

      3.2 解決方案,把異構(gòu)計(jì)算的孤島連接在一起,形成超異構(gòu)

      文章圖片10

      超異構(gòu)可以看做是CPU+CPU的同構(gòu)并行和CPU+其他xPU的異構(gòu)并行“有機(jī)”組合到一起,形成的一個(gè)新的超大系統(tǒng)。

      文章圖片11

      超異構(gòu)是由CPU、GPU、FPGA、DSA、ASIC以及其他各種加速引擎“有機(jī)”組成的新的宏系統(tǒng)。

      3.3 超異構(gòu)和SOC的不同之處

      超異構(gòu)處理器HPU,可以算是SOC,但又跟傳統(tǒng)的SOC有很大的不同。如果無(wú)法認(rèn)識(shí)到這些不同,就無(wú)法理解到HPU的本質(zhì)。下表是一些典型的差異性對(duì)比。

      文章圖片12
      4 為什么是現(xiàn)在(才興起超異構(gòu)計(jì)算)?

      4.1 基于CPU的摩爾定律失效,引發(fā)連鎖反應(yīng)

      系統(tǒng)越來(lái)越復(fù)雜,需要選擇越來(lái)越靈活的處理器;而性能挑戰(zhàn)越來(lái)越大,需要我們選擇定制加速的處理器。這是一對(duì)矛盾,拉扯著我們的各類算力芯片設(shè)計(jì)。本質(zhì)矛盾是:?jiǎn)我惶幚砥鳠o(wú)法兼顧性能和靈活性,即使我們拼盡全力平衡,也只“治標(biāo)不治本”。

      CPU靈活性很好,在符合性能要求的情況下,在云計(jì)算、邊緣計(jì)算等復(fù)雜計(jì)算場(chǎng)景,CPU是最優(yōu)的處理器。但受限于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í)的性能提升,但算力效率仍然無(wú)法極致。

      • CPU+DSA的異構(gòu)計(jì)算。由于DSA的靈活性較低,因此不適合應(yīng)用層加速。典型案例是AI,目前主要是由基于CPU+GPU完成訓(xùn)練和部分推理,DSA架構(gòu)的AI芯片目前還沒(méi)有大范圍落地。

      4.2 Chiplet技術(shù)成熟,量變引起質(zhì)變:需要架構(gòu)創(chuàng)新,而不是簡(jiǎn)單集成

      文章圖片13

      假設(shè),在沒(méi)有Chiplet的時(shí)候,我們的CPU或xPU可以集成50個(gè)核,有了Chiplet互聯(lián),把4個(gè)DIE拼起來(lái),我們就可以單芯片集成200個(gè)核心。

      但是,上圖的平行擴(kuò)展方式,真的就是Chiplet的價(jià)值嗎?

      結(jié)論是,這樣的Chiplet集成,暴殄天物!

      文章圖片14

      Chiplet使得我們?cè)趩蝹€(gè)芯片的層次,可以構(gòu)建規(guī)模數(shù)量級(jí)提升的超大系統(tǒng)。這樣,我們可以利用大系統(tǒng)的一些“特點(diǎn)”,來(lái)進(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àn),這部分任務(wù)最好放在CPU上。

      • 應(yīng)用可加速部分的任務(wù),由于應(yīng)用的算法差異化和迭代較大,適合放在GPU、FPGA等彈性加速引擎??梢蕴峁┳銐蜢`活可編程的同時(shí),可以提供盡可能好的性能。

      文章圖片15

      這樣,基于超異構(gòu)實(shí)現(xiàn)的整個(gè)系統(tǒng):

      • 從宏觀視角看,80%甚至90%以上的計(jì)算,都是在DSA中完成。這樣,整個(gè)系統(tǒng)是接近于DSA/ASIC的極致性能;

      • 用戶關(guān)心的應(yīng)用不可加速部分,只占10%以內(nèi),依然運(yùn)行在CPU上。也即用戶看到的仍然是100%的CPU級(jí)別的靈活可編程性。

      也即,通過(guò)超異構(gòu)架構(gòu),可以在實(shí)現(xiàn)極致靈活性的同時(shí),實(shí)現(xiàn)極致的性能。

      4.3 超異構(gòu)更難駕馭,需要?jiǎng)?chuàng)新的理念和技術(shù)

      異構(gòu)編程很難,NVIDIA經(jīng)過(guò)數(shù)年的努力,才讓CUDA的編程對(duì)開(kāi)發(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)過(guò)慎重思考,我們從以下幾個(gè)方面入手:

      • 性能和靈活性。從系統(tǒng)的角度,系統(tǒng)的任務(wù)從CPU往硬件加速下沉,如何選擇合適的處理引擎,達(dá)到最優(yōu)性能的同時(shí),有最優(yōu)的靈活性。并且不僅僅是平衡,更是兼顧。

      • 編程及易用性。系統(tǒng)逐漸從硬件定義軟件,轉(zhuǎn)向了軟件定義硬件。如何利用這些特征,如何利用已有軟件資源,以及如何融入云服務(wù)。

      • 產(chǎn)品。用戶的需求,除了需求本身之外,還需要考慮不同用戶需求的差異性,和單個(gè)用戶需求的長(zhǎng)期迭代。該如何提供給用戶更好的產(chǎn)品,滿足不同用戶短期和長(zhǎng)期的需求。授人以魚(yú)不如授人以漁,該如何提供用戶沒(méi)有特定的具體功能的、性能極致的、完全可編程的硬件平臺(tái)。

      • 等等。

      軟硬件融合,為解決上述問(wèn)題,提供了成體系化的理念、方法、技術(shù)和解決方案,為輕松駕馭超異構(gòu)提供了切實(shí)可行的路徑。

      關(guān)于軟硬件融合,請(qǐng)看文章:軟硬件融合:超異構(gòu)算力革命。

      5 未來(lái),所有的大算力芯片都是超異構(gòu)芯片

      Intel高級(jí)副總裁兼加速計(jì)算系統(tǒng)和圖形部門(mén)負(fù)責(zé)人Raja Koduri表示:要想實(shí)現(xiàn)《雪崩》和《頭號(hào)玩家》中天馬行空的體驗(yàn),需將現(xiàn)在的算力至少再提升1000倍。應(yīng)用不斷發(fā)展,軟硬件最根本的矛盾仍然是“硬件的性能提升,永遠(yuǎn)趕不上軟件對(duì)性能的需求”。可以說(shuō),對(duì)算力的需求,永無(wú)止境!

      要保證宏觀算力的最大化,一方面是要持續(xù)不斷的提升性能,另一方面還要保證芯片的靈活可編程性。唯有通過(guò)超異構(gòu)的方式,分門(mén)別類,針對(duì)每個(gè)任務(wù)的特征采用最優(yōu)的引擎方案,才能在確保最極致靈活可編程的同時(shí),實(shí)現(xiàn)最極致的性能。從而,真正實(shí)現(xiàn)性能和靈活性的既要又要。

      單兵作戰(zhàn),顧此失彼;團(tuán)隊(duì)協(xié)作,互補(bǔ)共贏。

      未來(lái),唯有超異構(gòu)計(jì)算,才能保證算力數(shù)量級(jí)提升的同時(shí),不損失靈活可編程性。才能夠真正實(shí)現(xiàn)宏觀算力的數(shù)量級(jí)提升,才能夠更好的支撐數(shù)字經(jīng)濟(jì)社會(huì)發(fā)展。

      參考文獻(xiàn):

      https://hpc./documentation/tutorials/introduction-parallel-computing-tutorial

      文章圖片16

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多