劉 勝 盧 凱 郭 陽 劉 仲 陳海燕 雷元武 孫海燕 楊乾明 陳小文 陳勝剛 劉必慰 魯建壯
(國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院 長(zhǎng)沙 410073)
(liusheng83@nudt.edu.cn)
高性能計(jì)算(high performance computing,HPC)是推動(dòng)科學(xué)技術(shù)發(fā)展的基礎(chǔ)性領(lǐng)域之一,被稱為超級(jí)計(jì)算機(jī)的“下一個(gè)明珠”的E級(jí)高性能計(jì)算時(shí)代已經(jīng)悄然來臨.面向E級(jí)高性能計(jì)算的加速器領(lǐng)域逐漸發(fā)展成為全球最高端芯片的競(jìng)技場(chǎng).由AMD公司于2020年11月推出的INSTINCTTMMI100加速器的雙精度峰值計(jì)算能力已經(jīng)突破10TFLOPS量級(jí),達(dá)到11.5TFLOPS,典型功耗為300 W[1].由英偉達(dá)公司于2020年5月推出的A100 GPU[2],其可編程部分的雙精度浮點(diǎn)峰值計(jì)算能力為9.7TFLOPS,張量核(tensor core)部分的雙精度浮點(diǎn)峰值計(jì)算能力高達(dá)19.5TFLOPS,典型功耗為400 W.根據(jù)報(bào)導(dǎo),英特爾公司也將于2021年末甚至更早推出代號(hào)為Ponte Vecchio的XeHPC系列GPU,預(yù)計(jì)性能也將高達(dá)數(shù)十TFLOPS[3].
作為國(guó)內(nèi)最早開始自主處理器設(shè)計(jì)的優(yōu)勢(shì)單位之一,國(guó)防科技大學(xué)一直以來都是高性能加速器領(lǐng)域強(qiáng)有力的競(jìng)爭(zhēng)者.本文主要對(duì)國(guó)防科技大學(xué)自主設(shè)計(jì)的一款面向E級(jí)高性能計(jì)算的加速器進(jìn)行介紹.該芯片采用了CPU+GPDSP的異構(gòu)融合架構(gòu),兼顧高性能、高效能和高可編程性的特點(diǎn),雙精度浮點(diǎn)峰值性能可達(dá)10TFLOPS以上,典型應(yīng)用情況下效能在50GFLOPS/W左右,有望成為新一代E級(jí)超算系統(tǒng)的核心計(jì)算芯片.
該芯片采用了異構(gòu)融合架構(gòu),如圖1所示.由多核CPU和4個(gè)GPDSP_Cluster五部分組成.多核CPU包含32個(gè)FT-C662 CPU內(nèi)核(兼容ARM指令集),每個(gè)GPDSP_Cluster包含24個(gè)自定義指令集的FT-M64DSP核.作為芯片的主控部分,多核CPU可以訪問和調(diào)用所有的資源,4個(gè)GPDSP_Cluster相互獨(dú)立.該芯片將主控部分和運(yùn)算部分的互連在片內(nèi)解決,從而為兩者間的通信提供高數(shù)據(jù)帶寬.
Fig.1 Architecture of the chip圖1 芯片體系結(jié)構(gòu)
GPDSP_Cluster從標(biāo)、向量并行的64 b單核結(jié)構(gòu)、可擴(kuò)展多核結(jié)構(gòu)等方面實(shí)施了全方位、多層次并行優(yōu)化,充分開發(fā)應(yīng)用的指令級(jí)、數(shù)據(jù)級(jí)、任務(wù)級(jí)并行,并針對(duì)應(yīng)用進(jìn)行了指令集級(jí)別的定制,提高了典型應(yīng)用的峰值運(yùn)算能力和效能.每個(gè)GPDSP_Cluster包含6個(gè)DSP節(jié)點(diǎn)(每個(gè)DSP節(jié)點(diǎn)包含4個(gè)DSP核).GPDSP_Cluster內(nèi)包含一個(gè)全局共享存儲(chǔ)器,提供了片上高帶寬的數(shù)據(jù)傳輸.還包含一個(gè)HBM2轉(zhuǎn)接橋和控制器,以支持片外高帶寬數(shù)據(jù)傳輸.采用了具備高帶寬、支持優(yōu)先權(quán)仲裁和QoS等多個(gè)特點(diǎn)的多級(jí)CrossBar(CrossNet)片上網(wǎng)絡(luò)結(jié)構(gòu),保證了數(shù)據(jù)帶寬的穩(wěn)定發(fā)揮.
DSP內(nèi)核基于自主知識(shí)產(chǎn)權(quán)的指令集設(shè)計(jì).如圖2所示,采用了超長(zhǎng)指令字(very long instruction word,VLIW)技術(shù)和標(biāo)向量協(xié)同融合的結(jié)構(gòu).向量部件由16個(gè)同構(gòu)的VPE陣列組成,每個(gè)VPE內(nèi)部包含3個(gè)乘加單元.指控單元(L1P/Fetch/Dispatch)同時(shí)向標(biāo)量單元(scalar unit)和向量單元(vector unit)派發(fā)指令,16個(gè)VPE采用SIMD的方式同時(shí)執(zhí)行相同的向量指令.標(biāo)量部件和向量部件各自有對(duì)應(yīng)本地的局部存儲(chǔ)器:標(biāo)量存儲(chǔ)器和陣列存儲(chǔ)器.DSP內(nèi)核擁有一個(gè)的DMA,支持靈活高效的數(shù)據(jù)傳輸方式(如點(diǎn)對(duì)點(diǎn)、廣播、分段、Super Gather等)以充分適應(yīng)不同的應(yīng)用需求.
Fig.2 Structure of DSP Core圖2 DSP內(nèi)核結(jié)構(gòu)圖
為了簡(jiǎn)化存儲(chǔ)管理硬件邏輯設(shè)計(jì),多核CPU內(nèi)部支持硬件Cache一致性(包含16 MB的L2Cache),GPDSP_Cluster支持軟件管理的垂直存儲(chǔ)一致性.面向高性能計(jì)算以及AI等應(yīng)用需求,提出了一種多層次協(xié)同共享存儲(chǔ)結(jié)構(gòu),將加速器GPDSP核內(nèi)的私有存儲(chǔ)(近80 MB,峰值帶寬98TB/s)、全局共享存儲(chǔ)(共24 MB,峰值帶寬1.2 TB/s)、HBM存儲(chǔ)(4個(gè)HBM2,峰值帶寬1.2 TB/s,容量32 GB)三級(jí)存儲(chǔ)架構(gòu),通過高速DMA和片上網(wǎng)絡(luò)連接,提供了高帶寬的數(shù)據(jù)傳輸和核間數(shù)據(jù)交互能力.
本加速器集成了2個(gè)PCIE4.0接口.每個(gè)PCIE接口除了支持4.0規(guī)范外,還兼容3.0,2.0規(guī)范.每個(gè)接口為X16設(shè)計(jì),支持EP和RC模式.
針對(duì)異構(gòu)融合架構(gòu)設(shè)計(jì)并實(shí)現(xiàn)了一套支持異構(gòu)多核的類CUDA開發(fā)調(diào)試運(yùn)行環(huán)境.支持用戶在同一個(gè)界面中進(jìn)行多核CPU和GPDSP異構(gòu)程序的調(diào)試,支持用戶在同一個(gè)工程甚至在一個(gè)文件中編寫CPU和GPDSP異構(gòu)程序.
如圖3所示,該芯片軟件工具鏈包含了異構(gòu)編譯器、資源管理庫(kù)、異構(gòu)運(yùn)行時(shí)庫(kù)、異構(gòu)設(shè)備庫(kù)等,方便用戶快速開發(fā)面向典型領(lǐng)域的高性能應(yīng)用.GPDSP編譯器針對(duì)多核、超長(zhǎng)指令字、向量等特點(diǎn)進(jìn)行了一系列優(yōu)化,具體包括標(biāo)量和向量指令級(jí)并行優(yōu)化、SIMD優(yōu)化、循環(huán)展開和軟流水優(yōu)化、跳轉(zhuǎn)延遲槽調(diào)度優(yōu)化、寄存器分配優(yōu)化、謂詞優(yōu)化等.
Fig.3 Structure of the software chain圖3 軟件工具鏈結(jié)構(gòu)圖
為了發(fā)揮加速器的計(jì)算能力和易用性,提供了面向用戶核心級(jí)代碼的線性匯編開發(fā)工具,能夠在大幅提高核心代碼效率的同時(shí) 降低程序優(yōu)化難度.此外還提供與結(jié)構(gòu)相匹配的手工匯編優(yōu)化算法庫(kù),手工匯編優(yōu)化后的算法庫(kù)比普通C語言實(shí)現(xiàn)的庫(kù)函數(shù)效率能夠提高一個(gè)數(shù)量級(jí)以上.目前已經(jīng)完成了Linpack,HPCG,CNN等算法核心算法庫(kù)的開發(fā).
1)雙精度通用矩陣乘法(double general matrixmatrix multiplication,DGEMM)算法.采用DGEMM算法(執(zhí)行C′=A×B+C)對(duì)系統(tǒng)的計(jì)算效率進(jìn)行評(píng)測(cè),其中矩陣A的規(guī)模為24576×512,矩陣B的規(guī)模為512×(1152×n),矩陣C的規(guī)模為24576×(1 152×n),n為矩陣規(guī)模的系數(shù).如圖4所示,DGEMM算法在系統(tǒng)的實(shí)測(cè)計(jì)算效率方面平均為94%.
Fig.4 Efficiency of DGEMM圖4 DGEMM算法的效率
2)卷積神經(jīng)網(wǎng)絡(luò)模型算法.在加速器上實(shí)現(xiàn)了深度卷積神經(jīng)網(wǎng)絡(luò)模型Alex Net.表1對(duì)比了本加速器與其他5種高性能GPU[4]實(shí)現(xiàn)Alex Net推理的計(jì)算性能.本加速器在深度卷積神經(jīng)網(wǎng)絡(luò)推理計(jì)算方面能夠達(dá)到15 108幀/秒,具有較高的計(jì)算性能.
Table 1 Comparison of Our Accelerator and Other GPUs表1 本加速器與其它GPU的性能對(duì)比
本文主要介紹了國(guó)防科技大學(xué)自主設(shè)計(jì)的面向E級(jí)高性能計(jì)算的加速器芯片.目前該芯片已經(jīng)順利流片和量產(chǎn),下一步將圍繞該芯片進(jìn)行工具鏈和應(yīng)用開發(fā)進(jìn)行更深入的工作.
作者貢獻(xiàn)聲明:盧凱(芯片架構(gòu)設(shè)計(jì))、郭陽(芯片結(jié)構(gòu)設(shè)計(jì))、劉仲(芯片算法評(píng)估)三人對(duì)本文具有同等貢獻(xiàn),均為通信作者.