• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      天河超級(jí)計(jì)算機(jī)上超大規(guī)模高精度計(jì)算流體力學(xué)并行計(jì)算研究進(jìn)展

      2020-11-05 06:09:46徐傳福車永剛李大力王勇獻(xiàn)王正華
      關(guān)鍵詞:并行算法天河超級(jí)計(jì)算機(jī)

      徐傳福,車永剛,李大力,王勇獻(xiàn),王正華

      (1.國防科技大學(xué)高性能計(jì)算國家重點(diǎn)實(shí)驗(yàn)室,湖南 長沙 410073;2.國防科技大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙 410073;3.國防科技大學(xué)氣象海洋學(xué)院,湖南 長沙 410073)

      1 引言

      計(jì)算流體力學(xué)CFD(Computational Fluid Dynamics)通過數(shù)值求解各種流體動(dòng)力學(xué)控制方程,獲取各種條件下的流動(dòng)數(shù)據(jù)和作用在繞流物體上的力、力矩和熱量等,從而達(dá)到研究各種流動(dòng)現(xiàn)象和規(guī)律的目的。CFD是涉及流體力學(xué)、計(jì)算機(jī)科學(xué)與技術(shù)、計(jì)算數(shù)學(xué)等多個(gè)專業(yè)的交叉研究領(lǐng)域。隨著高性能計(jì)算機(jī)的飛速發(fā)展,CFD研究和工程實(shí)踐都取得了很大進(jìn)步,20世紀(jì)90年代以來,基于雷諾平均Navier-Stokes方程求解的CFD技術(shù)已經(jīng)廣泛應(yīng)用于航空、航天、航海、能源動(dòng)力、環(huán)境、機(jī)械裝備等諸多國民經(jīng)濟(jì)和國防安全領(lǐng)域,取得了很好的應(yīng)用效果。在航空航天領(lǐng)域,CFD已逐漸成為與理論分析、風(fēng)洞實(shí)驗(yàn)并列的流體力學(xué)3大主要方法之一。美國國家航天局(NASA)預(yù)測(cè),21世紀(jì),高效能計(jì)算機(jī)和CFD技術(shù)的進(jìn)一步結(jié)合將給各類航空航天飛行器的氣動(dòng)設(shè)計(jì)帶來一場(chǎng)革命[1]。

      高性能計(jì)算技術(shù)的迅猛發(fā)展為大規(guī)模復(fù)雜CFD應(yīng)用提供了重要支撐,當(dāng)前,CFD已經(jīng)成為高性能計(jì)算機(jī)上最重要的應(yīng)用之一。隨著應(yīng)用問題復(fù)雜度的增加,CFD要求的幾何外形、數(shù)值方法、物理化學(xué)模型等也日益復(fù)雜、精細(xì),對(duì)大規(guī)模計(jì)算提出了更高要求。CFD對(duì)大規(guī)模計(jì)算的需求可以從能力計(jì)算(Capability Computing)和容量計(jì)算(Capacity Computing)2方面概括。容量計(jì)算指的是利用超級(jí)計(jì)算機(jī)同時(shí)完成大批量生產(chǎn)性業(yè)務(wù),在CFD中通常用于復(fù)雜工程問題的設(shè)計(jì)與優(yōu)化,例如飛行器全包線數(shù)據(jù)庫生產(chǎn)等。有學(xué)者在1997年估計(jì),商業(yè)飛機(jī)巡航一秒鐘的計(jì)算,用每秒萬億次計(jì)算機(jī)需要數(shù)千年,高保真度全包線氣動(dòng)數(shù)據(jù)庫的生產(chǎn)被認(rèn)為是CFD一個(gè)長期的重大挑戰(zhàn)問題[2,3]。能力計(jì)算通常指的是利用超級(jí)計(jì)算機(jī)全系統(tǒng)計(jì)算能力求解單個(gè)大型任務(wù),在CFD中通常用于簡單外形、復(fù)雜流動(dòng)問題的基礎(chǔ)研究,例如采用直接數(shù)值模擬開展湍流流動(dòng)機(jī)理研究等。據(jù)美國波音公司Tinoco博士2009年估計(jì),以當(dāng)時(shí)高性能計(jì)算機(jī)的發(fā)展速度,直到2080年左右才可能進(jìn)行民航客機(jī)全機(jī)的DNS模擬;即便是進(jìn)行大渦模擬也要等到2045年左右[4]。

      CFD巨大的計(jì)算量對(duì)于超級(jí)計(jì)算機(jī)研制和超大規(guī)模并行計(jì)算研究提出了迫切需求,異構(gòu)并行架構(gòu)是當(dāng)前構(gòu)建超大規(guī)模高性能計(jì)算機(jī)系統(tǒng)的重要技術(shù)途徑之一[5]。異構(gòu)超級(jí)計(jì)算機(jī)主要包括異構(gòu)加速器和異構(gòu)眾核2種實(shí)現(xiàn)方式。例如,我國的天河系列超級(jí)計(jì)算機(jī)采用了異構(gòu)加速器,其中天河一號(hào)的加速器為通用GPU(Graphics Processing Unit),而天河二號(hào)的加速器為Intel集成眾核MIC(Many Integrated Cores)(升級(jí)后的天河二號(hào)采用了國產(chǎn)加速器Matrix2000);神威太湖之光則采用了“申威26010”異構(gòu)眾核處理器,每個(gè)處理器包括4個(gè)主計(jì)算核,每個(gè)主計(jì)算核配有一個(gè)8×8的計(jì)算陣列(64個(gè)從計(jì)算核)。在2020年6月發(fā)布的世界超級(jí)計(jì)算機(jī)排行榜(TOP500)中,排名前10的超級(jí)計(jì)算機(jī)有8臺(tái)是異構(gòu)超級(jí)計(jì)算機(jī)。異構(gòu)超級(jí)計(jì)算機(jī)具有明顯的性能價(jià)格比、性能功耗比等優(yōu)勢(shì),但異構(gòu)超級(jí)計(jì)算機(jī)具有異構(gòu)的計(jì)算、存儲(chǔ)和通信能力以及編程環(huán)境,極大增加了高效、大規(guī)模CFD應(yīng)用軟件開發(fā)的難度。在CFD應(yīng)用領(lǐng)域,傳統(tǒng)CPU平臺(tái)并行計(jì)算主要采用分區(qū)并行方法,每個(gè)分區(qū)獨(dú)立進(jìn)行求解,利用消息傳遞通信實(shí)現(xiàn)分區(qū)之間的任務(wù)并行以及共享存儲(chǔ)實(shí)現(xiàn)單個(gè)分區(qū)內(nèi)部的線程并行[6 - 9]。異構(gòu)超級(jí)計(jì)算機(jī)具有多層次、多粒度的異構(gòu)并行性,應(yīng)用并行性開發(fā)需要同時(shí)利用消息傳遞任務(wù)級(jí)并行、計(jì)算結(jié)點(diǎn)內(nèi)CPU與加速器之間的協(xié)同并行、CPU/加速器上的共享存儲(chǔ)線程級(jí)并行和CPU/加速器上的向量化指令級(jí)并行,需要針對(duì)異構(gòu)并行體系結(jié)構(gòu)特征,設(shè)計(jì)多層次可擴(kuò)展并行算法,才能實(shí)現(xiàn)CFD應(yīng)用、算法與并行體系結(jié)構(gòu)的“最佳適配”,充分挖掘超高性能計(jì)算機(jī)潛力。

      國防科技大學(xué)不僅是我國高性能計(jì)算機(jī)系統(tǒng)研制的基地,也是我國高性能計(jì)算應(yīng)用軟件研發(fā)的基地。長期以來,國防科技大學(xué)CFD應(yīng)用軟件團(tuán)隊(duì)依托天河/銀河系列超級(jí)計(jì)算機(jī)開展了超大規(guī)模復(fù)雜CFD并行計(jì)算和性能優(yōu)化研究,突破了異構(gòu)協(xié)同并行計(jì)算等關(guān)鍵技術(shù),實(shí)現(xiàn)了HPC與CFD的深度融合,有力支撐了我國幾套重要的In-house CFD應(yīng)用軟件在天河/銀河系列超級(jí)計(jì)算機(jī)上的大規(guī)模并行計(jì)算。本文歸納總結(jié)了作者團(tuán)隊(duì)基于自主高精度CFD軟件,面向航空航天氣動(dòng)數(shù)值模擬,在天河超級(jí)計(jì)算機(jī)上開展的超大規(guī)模高精度CFD并行計(jì)算研究,并對(duì)未來E級(jí)超級(jí)計(jì)算機(jī)上CFD并行應(yīng)用開發(fā)進(jìn)行了分析展望。

      2 研究現(xiàn)狀

      近年來,隨著P級(jí)超級(jí)計(jì)算機(jī)的研制成功,歐美日等發(fā)達(dá)國家在這些最高端的計(jì)算平臺(tái)上針對(duì)湍流等復(fù)雜流動(dòng)機(jī)理研究開展了超大規(guī)模CFD并行計(jì)算。例如,2013年,德克薩斯州州立大學(xué)研究人員實(shí)現(xiàn)了P級(jí)高雷諾數(shù)槽道流的直接數(shù)值模擬,并行規(guī)模達(dá)到約78萬處理器核[10]。瑞士蘇黎世聯(lián)邦工學(xué)院、IBM蘇黎世實(shí)驗(yàn)室等單位聯(lián)合完成了基于有限體積法的無粘可壓兩相流模擬,最大網(wǎng)格規(guī)模達(dá)13萬億網(wǎng)格點(diǎn),獲得了11PFLOPS的持續(xù)性能,達(dá)到系統(tǒng)峰值性能的55%,該項(xiàng)工作獲得了2013年度戈登·貝爾獎(jiǎng)[11]。

      高性能異構(gòu)并行體系結(jié)構(gòu)發(fā)展至今,很多學(xué)者在GPU、MIC等異構(gòu)超級(jí)計(jì)算機(jī)上開展了大規(guī)模CFD異構(gòu)并行計(jì)算研究,取得了不錯(cuò)的加速效果。GPU出現(xiàn)的早期,研究人員通常僅移植一些簡化的CFD代碼,以二階精度和一些簡單的流動(dòng)問題模擬為主,計(jì)算平臺(tái)通常也僅包含1塊或幾塊GPU卡。通過早期實(shí)踐驗(yàn)證GPU計(jì)算的加速效果后,大規(guī)模GPU異構(gòu)并行逐漸成為CFD并行計(jì)算研究的熱點(diǎn)。例如,Jacobsen等[12]實(shí)現(xiàn)了一個(gè)支持GPU集群的不可壓CFD求解器,在美國國家超級(jí)計(jì)算應(yīng)用中心的Tesla集群上利用64個(gè)結(jié)點(diǎn)(共128塊Tesla C1060 GPU卡)進(jìn)行了測(cè)試,相對(duì)于8 CPU核獲得約130倍的加速比。他們同時(shí)在256塊GPU上開展了頂蓋方腔管道湍流的大渦模擬[13],采用了1維區(qū)域分解,對(duì)比了MPI+OpenMP+CUDA 并行和MPI+CUDA并行實(shí)現(xiàn),但實(shí)際上他們的工作并未實(shí)現(xiàn)CPU-GPU協(xié)同,OpenMP僅用于代替結(jié)點(diǎn)內(nèi)MPI通信。作者團(tuán)隊(duì)在天河一號(hào)超級(jí)計(jì)算機(jī)上設(shè)計(jì)了基于MPI+CUDA+OpenMP的CPU-GPU異構(gòu)協(xié)同并行算法,成功實(shí)現(xiàn)了當(dāng)時(shí)世界上最大規(guī)模CPU-GPU協(xié)同并行高精度計(jì)算,模擬了三段翼構(gòu)型高精度氣動(dòng)聲學(xué)問題和大型客機(jī)C919的高精度氣動(dòng)力預(yù)測(cè)問題,問題規(guī)模達(dá)8億網(wǎng)格單元,并行規(guī)模達(dá)1 024個(gè)計(jì)算結(jié)點(diǎn)[14 - 17]。MIC架構(gòu)產(chǎn)品的出現(xiàn)晚于GPU,相關(guān)CFD問題應(yīng)用優(yōu)化與并行算法研究工作相對(duì)較少。德國宇航中心于2011年啟動(dòng)了名為“面向眾核架構(gòu)的CFD代碼高效實(shí)現(xiàn)HICFD(Highly Efficient Implementation of CFD codes for HPC many-core architectures)”的研究項(xiàng)目[18],面向眾核高性能計(jì)算機(jī)研究新的方法與工具,最優(yōu)地利用系統(tǒng)的全部并行層級(jí),包括在最高層使用MPI,在眾核加速卡級(jí)使用高度可擴(kuò)展的MPI/OpenMP混合并行,在處理器核級(jí)高效利用SIMD部件。隨著天河二號(hào)超級(jí)計(jì)算機(jī)的發(fā)布,作者團(tuán)隊(duì)又開展了MIC平臺(tái)上CFD并行計(jì)算和性能優(yōu)化研究,設(shè)計(jì)了基于MPI+Offload+OpenMP+SIMD的CPU-MIC異構(gòu)協(xié)同并行算法,實(shí)現(xiàn)了數(shù)十億網(wǎng)格規(guī)模的可壓縮拐角直接數(shù)值模擬,并行規(guī)模擴(kuò)展到百萬異構(gòu)計(jì)算核心[19 - 24]。

      整體而言,國內(nèi)多數(shù)CFD并行計(jì)算規(guī)模為數(shù)十到數(shù)百核,與國外相比仍然有較大差距。長期以來國內(nèi)多數(shù)CFD軟件更加關(guān)注CFD自身的專業(yè)性,與高性能計(jì)算機(jī)系統(tǒng)的研制相互脫節(jié),CFD軟件適應(yīng)新型高性能并行體系結(jié)構(gòu)的能力較弱,迫切需要開展CFD算法、應(yīng)用和系統(tǒng)的深度融合研究,充分發(fā)揮新一代超級(jí)計(jì)算機(jī)系統(tǒng)的潛能。

      3 CFD方法、軟件和計(jì)算平臺(tái)

      3.1 數(shù)值方法和軟件

      這里以一個(gè)In-house多區(qū)結(jié)構(gòu)網(wǎng)格高精度CFD軟件為例,簡要介紹高精度CFD數(shù)值方法和軟件實(shí)現(xiàn)。直角坐標(biāo)系下強(qiáng)守恒形式控制方程表示為:

      上述方程通過坐標(biāo)變換(x,y,z,t)→(ξ,η,ζ,τ)轉(zhuǎn)換為曲線坐標(biāo)下方程:

      該結(jié)構(gòu)網(wǎng)格高精度CFD軟件中實(shí)現(xiàn)了WCNS(Weighted Compact Non-linear Scheme)[25]、HDCS(Hybrid cell-edge and cell-node Dissipative Compact Scheme)[26]等我國自主發(fā)展的有限差分高精度計(jì)算格式,這里以5階顯式WCNS格式WCNS-E-5沿方向無粘通量導(dǎo)數(shù)離散為例,其內(nèi)點(diǎn)格式可以表示為:

      高精度CFD軟件計(jì)算流程如圖1所示。迭代(定常時(shí)間步迭代或非定常子迭代)開始施加邊界條件,之后交換虛網(wǎng)格單元和奇異網(wǎng)格單元原始變量值,接著在計(jì)算和交換原始變量梯度之前計(jì)算譜半徑增量和時(shí)間步。WCNS、HDCS等高精度格式在右端項(xiàng)(粘性項(xiàng)和無粘項(xiàng))計(jì)算中實(shí)現(xiàn),右端項(xiàng)計(jì)算結(jié)果也需要進(jìn)行交換。軟件中實(shí)現(xiàn)了常見的LU-SGS、PR-SGS等隱式方法以及顯式Runge-Kutta方法,求得守恒變量增量后更新原始變量及殘差,循環(huán)結(jié)束。

      Figure 1 Flowchart of the structured high-order CFD圖1 高精度結(jié)構(gòu)網(wǎng)格CFD軟件計(jì)算流程

      3.2 異構(gòu)計(jì)算平臺(tái)

      圖2給出了采用加速器的異構(gòu)計(jì)算平臺(tái)。圖2中每個(gè)計(jì)算結(jié)點(diǎn)包含若干共享內(nèi)存的多核CPU,計(jì)算結(jié)點(diǎn)間通過高速互連網(wǎng)絡(luò)進(jìn)行通信,每個(gè)計(jì)算結(jié)點(diǎn)包含若干加速器ACC(ACCelerator),加速器通常具有片上存儲(chǔ),通過PCI-e與CPU進(jìn)行數(shù)據(jù)交互。以天河一號(hào)為例,每個(gè)計(jì)算結(jié)點(diǎn)包含雙路Intel Xeon X5670 CPU和1個(gè)NVIDIA Tesla M2050 GPU;天河二號(hào)每個(gè)計(jì)算結(jié)點(diǎn)則包含雙路Intel Xeon E5-2692 v2 CPU和3塊MIC協(xié)處理器(Intel Xeon Phi 31S1P)。圖2同時(shí)給出了異構(gòu)計(jì)算平臺(tái)各層次對(duì)應(yīng)的編程模型。計(jì)算結(jié)點(diǎn)間通常采用消息傳遞接口MPI(Message Passing Interface)實(shí)現(xiàn)分布式并行,計(jì)算結(jié)點(diǎn)內(nèi)各CPU核上通常采用OpenMP實(shí)現(xiàn)共享存儲(chǔ)并行。不同加速器通常需要采用不同的編程模型,既有GPU專用的CUDA和MIC專用的Intel OffLoad編程模型,也有同時(shí)支持GPU、MIC等多種計(jì)算平臺(tái)的OpenACC、OpenMP4.X等編程模型。CFD應(yīng)用只有綜合利用上述并行編程模型,才能實(shí)現(xiàn)多層次并行算法。

      Figure 2 Accelerator-based heterogeneous computing platform and its programming models圖2 加速器異構(gòu)計(jì)算平臺(tái)及其編程模型

      4 超大規(guī)模異構(gòu)協(xié)同并行計(jì)算

      4.1 異構(gòu)并行區(qū)域分解

      區(qū)域分解是開展并行算法設(shè)計(jì)的第1步。圖3以三維多區(qū)網(wǎng)格CFD計(jì)算為例,給出了支持多層次異構(gòu)協(xié)同并行算法的區(qū)域分解示意圖。圖3中CFD流場(chǎng)區(qū)域首先根據(jù)負(fù)載均衡策略劃分為多個(gè)網(wǎng)格塊(為了滿足大規(guī)模并行計(jì)算及其負(fù)載均衡需求,通常需要對(duì)原始生成的單塊或多塊網(wǎng)格進(jìn)行二次剖分),每個(gè)MPI進(jìn)程負(fù)責(zé)1個(gè)包含若干網(wǎng)格塊的分組,為了簡化編程,通常1個(gè)計(jì)算結(jié)點(diǎn)分配1個(gè)MPI進(jìn)程。結(jié)點(diǎn)內(nèi)網(wǎng)格塊分組需要根據(jù)CPU和加速器的計(jì)算、存儲(chǔ)能力在兩者之間進(jìn)行均衡分配,考慮到編程復(fù)雜度和PCI-e通信開銷等,通常以整個(gè)網(wǎng)格塊作為分配單位。對(duì)于CPU或MIC,每個(gè)網(wǎng)格塊內(nèi)沿著特定維度劃分為數(shù)據(jù)片(data chunk)分配給計(jì)算核實(shí)現(xiàn)OpenMP線程并行。MIC計(jì)算核較多,網(wǎng)格塊規(guī)模較小或所劃分的維度網(wǎng)格單元均較小時(shí),可以采用嵌套OpenMP對(duì)網(wǎng)格塊的第2個(gè)維度進(jìn)行進(jìn)一步劃分。在CPU或MIC上,針對(duì)每個(gè)線程處理的數(shù)據(jù)片內(nèi)的網(wǎng)格線可以實(shí)現(xiàn)向量化并行。

      GPU上的任務(wù)分配則較為復(fù)雜。圖3中給出了一種2層分配策略,由于當(dāng)前GPU均支持流處理,首先將網(wǎng)格塊分配給GPU流實(shí)現(xiàn)GPU上的任務(wù)級(jí)并行;進(jìn)一步,在每個(gè)網(wǎng)格塊內(nèi),若CFD算法模型在計(jì)算中各網(wǎng)格單元沒有依賴關(guān)系,則可以設(shè)置三維的GPU線程塊,每個(gè)GPU線程處理1個(gè)網(wǎng)格單元。如果某一維度網(wǎng)格單元之間存在依賴關(guān)系,則可以考慮采用二維GPU線程塊。作者團(tuán)隊(duì)在天河一號(hào)上針對(duì)多區(qū)結(jié)構(gòu)網(wǎng)格高精度CFD軟件實(shí)現(xiàn)了這種2層策略,這種方法不僅可以充分挖掘GPU的多層次并行,同時(shí)可進(jìn)一步利用流處理對(duì)GPU計(jì)算的區(qū)塊進(jìn)行分組,克服了GPU存儲(chǔ)空間小對(duì)計(jì)算規(guī)模的限制,實(shí)現(xiàn)了CPU與GPU之間負(fù)載的靈活控制(CPU計(jì)算能力弱但存儲(chǔ)容量大,GPU計(jì)算能力強(qiáng)而存儲(chǔ)空間小)。

      Figure 3 Domain decomposition for multi-level heterogeneous collaborative parallel computing圖3 多層次異構(gòu)協(xié)同并行區(qū)域分解示意圖

      在區(qū)域分解過程中,網(wǎng)格剖分通常采用獨(dú)立的工具實(shí)現(xiàn),CPU或加速器上的計(jì)算任務(wù)分配需要在CFD求解器代碼中實(shí)現(xiàn)。與同構(gòu)CPU平臺(tái)相比,異構(gòu)并行平臺(tái)對(duì)區(qū)域分解和負(fù)載均衡提出了更新的要求。例如,為了更好的負(fù)載均衡,異構(gòu)計(jì)算結(jié)點(diǎn)通常要求剖分的網(wǎng)格塊更多,考慮到加速器豐富的并行能力,分配給加速器的網(wǎng)格區(qū)塊又不宜太小。

      4.2 異構(gòu)協(xié)同并行

      異構(gòu)加速器極大地提升了異構(gòu)超級(jí)計(jì)算機(jī)整體性能。以天河一號(hào)為例,每個(gè)計(jì)算結(jié)點(diǎn)CPU雙精度浮點(diǎn)性能約140 GFLOPS,GPU雙精度浮點(diǎn)性能約500 GFLOPS,在異構(gòu)超級(jí)計(jì)算機(jī)上開展大規(guī)模CFD計(jì)算不僅需要用好CPU,更需要用好加速器,使得兩者能夠?qū)崿F(xiàn)高效協(xié)同并行。本文歸納總結(jié)了2種協(xié)同并行模式[14]:基于嵌套OpenMP的協(xié)同和基于ACC異步執(zhí)行的協(xié)同,如圖4所示。以每個(gè)計(jì)算結(jié)點(diǎn)配置1個(gè)加速器、網(wǎng)格包括NBLKCOMS個(gè)分塊為例:基于嵌套OpenMP的協(xié)同首先在CPU上創(chuàng)建第1層2個(gè)OpenMP線程,其中第1個(gè)線程控制編號(hào)為[1,ACC_BLOCK_NUM]的分塊在ACC上的計(jì)算,在第2個(gè)線程內(nèi)創(chuàng)建嵌套OpenMP線程,啟動(dòng)其他CPU核計(jì)算編號(hào)為[ACC_BLOCK_NUM+1,NBLKCOMS]的分塊?;贏CC異步執(zhí)行的協(xié)同則利用了加速器異步編程模型和異步調(diào)度執(zhí)行機(jī)制,CPU主線程異步啟動(dòng)ACC計(jì)算任務(wù)后,控制權(quán)立刻返回CPU主線程,此時(shí)啟動(dòng)CPU上的多線程計(jì)算。在上述2種模式中CPU與ACC上都能夠同時(shí)運(yùn)行計(jì)算任務(wù),從而實(shí)現(xiàn)協(xié)同并行。CFD計(jì)算過程通常涉及邊界處理、邊界數(shù)據(jù)交換等操作,為了保證CPU上具有最新的計(jì)算結(jié)果,協(xié)同并行結(jié)束時(shí)需要在CPU與ACC之間進(jìn)行數(shù)據(jù)傳輸、同步等。

      Figure 4 Two heterogeneous collaborative parallel modes圖4 2種異構(gòu)協(xié)同并行模式

      上述2種協(xié)同并行模式編程實(shí)現(xiàn)均較為簡單,目前GPU、MIC等異構(gòu)加速器及CUDA、OpenMP4.X、OpenACC異構(gòu)編程模型都支持異步執(zhí)行和數(shù)據(jù)傳輸,開發(fā)人員可以在實(shí)際CFD程序中實(shí)現(xiàn)2種并行模式后針對(duì)不同的算例測(cè)試異構(gòu)協(xié)同并行效果。盡管理論上基于ACC異步執(zhí)行的協(xié)同并行似乎較為高效(無需專門留出CPU核控制ACC,所有CPU核均可參與計(jì)算),但在作者過去的實(shí)踐中,基于嵌套OpenMP的協(xié)同并行效果更佳。

      4.3 GPU并行

      MIC上的OpenMP并行與CPU上的類似,這里重點(diǎn)介紹作者團(tuán)隊(duì)針對(duì)多塊網(wǎng)格CFD計(jì)算提出的2層GPU并行算法[14]:網(wǎng)格區(qū)塊內(nèi)基于CUDA的細(xì)粒度數(shù)據(jù)并行算法和網(wǎng)格區(qū)塊間基于CUDA流處理機(jī)制的粗粒度任務(wù)并行算法,如圖5所示。圖5左邊給出的多塊網(wǎng)格CFD計(jì)算過程包含nblk個(gè)網(wǎng)格分塊的塊循環(huán)(block-loop),以及(K,J,I)三維大小為(NK,NJ,NI)網(wǎng)格分塊(虛邊界擴(kuò)充ngn個(gè)網(wǎng)格單元)內(nèi)的單元循環(huán)(cell-loop);右邊給出了2層并行算法實(shí)現(xiàn)的偽代碼,其中對(duì)網(wǎng)格區(qū)塊的循環(huán)(block-loop)和對(duì)網(wǎng)格單元的循環(huán)(cell-loop)分別映射到CUDA中的流處理循環(huán)(stream-loop)和CUDA計(jì)算核函數(shù)(CUDA kernel),這里假設(shè)GPU流的數(shù)量為num_stream。

      Figure 5 Schematic diagram of two-level GPU parallel algorithm for multi-block structured CFD圖5 多區(qū)結(jié)構(gòu)網(wǎng)格CFD計(jì)算2層GPU并行算法示意圖

      細(xì)粒度并行算法根據(jù)CFD不同計(jì)算過程所包括的循環(huán)內(nèi)部對(duì)網(wǎng)格單元的處理是否具有數(shù)據(jù)依賴關(guān)系而設(shè)計(jì)。對(duì)于網(wǎng)格單元間完全獨(dú)立的計(jì)算過程(例如Jacobi迭代、譜半徑計(jì)算等),網(wǎng)格區(qū)塊采用三維分解,計(jì)算過程實(shí)現(xiàn)為三維的CUDA kernel,根據(jù)索引每個(gè)GPU線程可獨(dú)立計(jì)算1個(gè)網(wǎng)格單元。對(duì)于網(wǎng)格單元間存在依賴關(guān)系的計(jì)算過程(例如各方向的無粘、粘性通量計(jì)算),由于CUDA不支持全局線程同步,因此可以采用二維分解,實(shí)現(xiàn)為二維CUDA kernel,每個(gè)GPU線程計(jì)算1條網(wǎng)格線。

      在多區(qū)網(wǎng)格CFD中,任意2次流場(chǎng)邊界信息交換之間的不同網(wǎng)格分區(qū)之間的計(jì)算是獨(dú)立的,可以并行處理。CUDA通過流處理(Streaming)機(jī)制支持任務(wù)級(jí)并行,允許用戶將應(yīng)用問題分為多個(gè)相互獨(dú)立的任務(wù),每個(gè)任務(wù)或者流定義了一個(gè)操作序列,同一流內(nèi)的操作需要滿足一定的順序,而不同流則可以在GPU上亂序執(zhí)行。粗粒度并行算法將每個(gè)GPU流綁定到一個(gè)網(wǎng)格區(qū)塊,同時(shí)在GPU上執(zhí)行多個(gè)GPU流,實(shí)現(xiàn)多個(gè)網(wǎng)格區(qū)塊的并發(fā)處理。流機(jī)制的引入一方面滿足了應(yīng)用問題多層次并行性開發(fā)的需求,另一方面很好地適應(yīng)了GPU的硬件資源特點(diǎn),提高了資源利用效率。在多GPU流處理機(jī)制上進(jìn)一步設(shè)計(jì)了分組多流機(jī)制GBMS(Group-Based Multiple Streams)[14,15],圖6a給出了多GPU流并發(fā)處理多個(gè)區(qū)塊時(shí)的狀態(tài)圖,可以看出多GPU流能夠重疊多個(gè)分區(qū)的拷入、計(jì)算和拷出,隱藏CPU和GPU間數(shù)據(jù)傳輸開銷;圖6b GBMS將4個(gè)流/分區(qū)分為2組,這種方式可有效克服天河一號(hào)Tesla M2050存儲(chǔ)容量小的限制,允許GPU計(jì)算更多網(wǎng)格區(qū)塊。

      Figure 6 Schematic diagram of multi-stream parallel execution and GBMS for 4 grid blocks圖6 4個(gè)分區(qū)時(shí)多流并發(fā)執(zhí)行和分組多流并行示意圖

      4.4 OpenMP并行

      若計(jì)算過程中網(wǎng)格單元之間沒有依賴關(guān)系,則網(wǎng)格分區(qū)內(nèi)的OpenMP并行可以通過沿著網(wǎng)格單元循環(huán)(通常為最外層循環(huán))添加OpenMP編譯指導(dǎo)語句實(shí)現(xiàn),較為簡單,本節(jié)重點(diǎn)介紹作者團(tuán)隊(duì)針對(duì)CFD中常用的具有強(qiáng)數(shù)據(jù)依賴關(guān)系的Gauss-Seidel迭代類算法(例如LU-SGS)改進(jìn)的共享存儲(chǔ)并行算法。以三維結(jié)構(gòu)網(wǎng)格為例(如圖7所示),在LU-SGS算法向前(下三角矩陣)掃描時(shí),網(wǎng)格點(diǎn)(i,j,k)的更新計(jì)算需要依賴小號(hào)鄰居點(diǎn)(i-1,j,k)、(i,j-1,k)和(i,j,k-1)的更新值,反之向后(上三角矩陣)掃描過程中則需要依賴大號(hào)鄰居點(diǎn)(i+1,j,k)、(i,j+1,k)和(i,j,k+1)的更新值。由于這一數(shù)據(jù)依賴特點(diǎn),無法直接添加OpenMP指導(dǎo)語句實(shí)現(xiàn)LU-SGS的共享存儲(chǔ)OpenMP并行。

      Figure 7 Data dependence in forward computing of LU-SGS algorithm 圖7 LU-SGS算法向前掃描時(shí)的數(shù)據(jù)依賴關(guān)系

      為了實(shí)現(xiàn)LU-SGS的OpenMP并行計(jì)算,NASA等機(jī)構(gòu)的學(xué)者提出了對(duì)角-超平面和流水線2種并行算法[32,33],主要思想是開發(fā)LU-SGS算法中各個(gè)不同網(wǎng)格面和網(wǎng)格線上計(jì)算沒有依賴關(guān)系的網(wǎng)格點(diǎn)進(jìn)行并行計(jì)算。在早期的多核處理器上,流水線LU-SGS并行算法取得了很好的并行加速比,然而我們的測(cè)試分析表明,在MIC新型眾核加速器上,228線程時(shí)并行效率急劇下降到25%以下,對(duì)于較小規(guī)模的算例甚至低至1%以下。其原因在于流水線并行效率受流水線建立和排空過程的限制。隨著流水線深度(線程數(shù))增加,流水線建立和排空的開銷也隨之增加。對(duì)于外層循環(huán)長度小于流水線深度的網(wǎng)格塊而言,甚至沒有足夠的計(jì)算任務(wù)充分填充所有的流水線級(jí)。另一方面,隨著線程數(shù)的增加,各個(gè)線程上的計(jì)算負(fù)載均衡性也會(huì)越來越差。

      為了破解傳統(tǒng)流水線并行LU-SGS在MIC加速器上的并行擴(kuò)展性瓶頸,作者團(tuán)隊(duì)針對(duì)三維網(wǎng)格(3個(gè)維度記為K、J、I,KmJn指的是K、J維的第m、n個(gè)網(wǎng)格單元)提出了一種改進(jìn)的基于線程嵌套的2層流水線并行LU-SGS算法(簡稱TL_Pipeline[22 - 24]),如圖8所示。其基本思想就是通過將原來的1條長流水線(深度為dp)轉(zhuǎn)換成相對(duì)較短的2條嵌套的流水線,從而進(jìn)一步開發(fā)原先每個(gè)線程上二維子任務(wù)(子平面)內(nèi)蘊(yùn)含的并行性。TL_Pipeline外層(第1層)流水線的深度為dp1,在每個(gè)流水線階段內(nèi)又包含1個(gè)嵌套深度為dp2的內(nèi)層(第2層)流水線,并且dp1×dp2=dp。其中內(nèi)層流水線是在Jsub子平面上構(gòu)造的,子任務(wù)中Jsub維各網(wǎng)格線組成流水線任務(wù)隊(duì)列,每一條網(wǎng)格線沿著I維靜態(tài)地剖分成dp2個(gè)子網(wǎng)格線。圖8給出的是算法的負(fù)載剖分和任務(wù)調(diào)度示意圖,其中dp1和dp2均為4,即共有16個(gè)并行線程。以第1層流水線的K4J1子任務(wù)為例,該子任務(wù)將進(jìn)一步被劃分為若干更細(xì)粒度的子任務(wù)JmIi(i=1,2,3,4),然后在內(nèi)層流水線上進(jìn)行調(diào)度執(zhí)行。

      Figure 8 Illustration of task decomposition and execution timelines for the pipeline approach (left) with 4 threads/pipeline-stages,and the two-level pipeline approach (right) with 4 threads/pipeline-stages in the sub-pipeline圖8 4個(gè)線程/流水段時(shí)傳統(tǒng)流水線方法(左)和兩層流水線方法(右,子流水線也包含4個(gè)流水段)的任務(wù)分解和執(zhí)行過程

      4.5 向量化并行

      當(dāng)前很多CPU和加速器(例如MIC)均采用了寬向量設(shè)計(jì)(例如天河二號(hào)CPU的雙精度向量寬度為4,MIC 的雙精度向量寬度為8),如果沒有充分利用向量化并行,則應(yīng)用的實(shí)際浮點(diǎn)性能將下降為峰值性能的1/v(設(shè)v為向量寬度)。對(duì)于一些復(fù)雜的CFD計(jì)算過程,直接添加向量化指導(dǎo)語句難以實(shí)現(xiàn)編譯器自動(dòng)向量化或者向量化效率較低,需要對(duì)CFD計(jì)算及訪存特征等進(jìn)行深入分析,必要時(shí)對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行重構(gòu)并采用intrinsic向量化指令實(shí)現(xiàn)高效向量化并行。這里簡單介紹一下作者團(tuán)隊(duì)針對(duì)高階精度有限差分格式WCNS在MIC架構(gòu)上開展的向量化并行化研究[34]。

      圖9給出了5階顯式WCNS格式(WCNS-E-5) 半節(jié)點(diǎn)重構(gòu)模板計(jì)算特點(diǎn)。測(cè)試表明,250萬網(wǎng)格規(guī)模時(shí)半節(jié)點(diǎn)重構(gòu)計(jì)算約占了總計(jì)算時(shí)間的1/3,說明這部分是整個(gè)計(jì)算的性能熱點(diǎn)。作者團(tuán)隊(duì)采用MIC平臺(tái)特有的intrinsic向量化指令對(duì)WCNS-E-5代碼進(jìn)行了重寫,使用的 intrinsic 語句主要包括_mm512_load_pd(對(duì)齊取數(shù)據(jù),可一次訪存取8個(gè)雙精度浮點(diǎn),有效降低訪存次數(shù))、_mm512_fmadd_pd/_mm512_fmsub_pd(乘加/乘減,可通過運(yùn)算指令融合提升性能)、_mm512_storenrngo_pd(對(duì)齊寫數(shù)據(jù),將向量寄存器的8個(gè)雙精度浮點(diǎn)數(shù)寫入內(nèi)存不緩存,對(duì)于只寫訪問有很好的Cache優(yōu)化效果)等。此外,為了使WCNS-E-5更好地適應(yīng)向量化計(jì)算,還對(duì)相關(guān)數(shù)據(jù)結(jié)構(gòu)做了相應(yīng)的調(diào)整。如圖10所示,首先將數(shù)據(jù)結(jié)構(gòu)由結(jié)構(gòu)體數(shù)組AOS(Array Of Structure)調(diào)整為數(shù)組結(jié)構(gòu)SOA(Structure Of Array)形式,使得數(shù)組能夠大跨度地連續(xù)訪問;其次為了訪存的對(duì)齊,對(duì)原數(shù)組做擴(kuò)充填補(bǔ),保證數(shù)組的對(duì)齊(只寫)訪問。

      Figure 9 WCNS-E-5 interpolation template圖9 WCNS-E-5插值模板

      Figure 10 Data structure adjustment圖10 數(shù)據(jù)結(jié)構(gòu)調(diào)整

      4.6 實(shí)驗(yàn)結(jié)果

      本節(jié)將給出在天河系列超級(jí)計(jì)算機(jī)上的部分測(cè)試結(jié)果。首先定義協(xié)同效率CE(Collaborative Efficiency)以評(píng)估CPU-GPU協(xié)同并行中的效率損失:

      其中,SPCPU和SPGPU分別是僅實(shí)現(xiàn)CPU和GPU并行時(shí)的加速比,SPCPU+GPU是CPU-GPU協(xié)同并行獲得的加速比(以SPCPU作為基準(zhǔn))。例如,SPCPU+GPU=1.8,SPGPU=1.3時(shí),協(xié)同效率CE為1.8/(1.0+1.3)×100%≈78.3%,意味著協(xié)同并行中的效率損失約為22%。

      表1給出了天河一號(hào)超級(jí)計(jì)算機(jī)的單塊Tesla M2050 GPU上不同流實(shí)現(xiàn)策略時(shí)的加速比。網(wǎng)格規(guī)模固定為128×128×128,網(wǎng)格分區(qū)數(shù)由2增加到8,以單流實(shí)現(xiàn)的性能作為基準(zhǔn)??梢钥闯?,采用CUDA多流在GPU上同時(shí)執(zhí)行多個(gè)網(wǎng)格分區(qū)可提升25%~30%的性能。由于CPU-GPU同步以及一些變量的PCI-e傳輸,GBMS有一定的額外開銷,相對(duì)于多流有一定的性能損失(最多28%左右),但作者團(tuán)隊(duì)設(shè)計(jì)的GBMS策略可以將高精度CFD軟件運(yùn)行在單個(gè)M2050 GPU上的最大模擬容量從2百萬網(wǎng)格單元提升到4百萬網(wǎng)格單元,這為后續(xù)CPU-GPU協(xié)同并行的負(fù)載均衡奠定了基礎(chǔ)。

      Table 1 Performance comparison of different CUDA stream implementations表1 GPU上不同流實(shí)現(xiàn)策略時(shí)的加速比

      圖11給出了天河一號(hào)超級(jí)計(jì)算機(jī)單個(gè)計(jì)算結(jié)點(diǎn)內(nèi)GPU并行、CPU-GPU協(xié)同并行以及實(shí)現(xiàn)GBMS策略時(shí)的加速比和協(xié)同并行效率。由于GPU存儲(chǔ)容量限制,僅針對(duì)前4個(gè)相對(duì)較小規(guī)模的網(wǎng)格給出了GPU并行加速比,對(duì)于網(wǎng)格規(guī)模256×128×128(約4百萬網(wǎng)格單元),必須采用GBMS策略,SPGPU由1.3降到1.05,對(duì)于前面4個(gè)小規(guī)模網(wǎng)格問題,協(xié)同并行不需要GBMS,SPCPU+GPU和CE分別可達(dá)到1.8和79%,協(xié)同并行相對(duì)于純GPU并行(GPU-only)提升了約45%的性能。對(duì)于更大規(guī)模的網(wǎng)格(大于4百萬網(wǎng)格單元),GBMS對(duì)于提升協(xié)同并行加速比和協(xié)同效率非常重要。以256×256×18(約8百萬網(wǎng)格單元)網(wǎng)格規(guī)模為例,如果不采用GBMS策略,則GPU只能模擬其中的2百萬網(wǎng)格單元,其他的6百萬網(wǎng)格單元只能在CPU上進(jìn)行模擬,由于嚴(yán)重的負(fù)載不均衡,SPCPU+GPU僅為1.3,CE僅為57%。采用GBMS策略后,CPU和GPU均可以模擬4百萬網(wǎng)格單元,SPCPU+GPU和CE分別提高到1.79和89%。采用GBMS負(fù)載均衡情況下,高精度CFD軟件在一個(gè)天河一號(hào)計(jì)算結(jié)點(diǎn)上的模擬容量由3.5百萬網(wǎng)格單元提升到8百萬網(wǎng)格單元,提升了約2.3倍。進(jìn)一步增加問題規(guī)模會(huì)導(dǎo)致協(xié)同并行加速比和效率明顯下降,原因是即使采用GBMS,GPU模擬負(fù)載最多仍然為4百萬網(wǎng)格單元。

      Figure 11 Intra-node collaborative speedup and efficiency圖11 計(jì)算結(jié)點(diǎn)內(nèi)協(xié)同并行加速比及效率

      圖12給出了天河二號(hào)MIC加速器(Intel Xeon Phi 31S1P)上針對(duì)LU-SGS設(shè)計(jì)的2層流水線OpenMP并行算法TL-Pipeline與傳統(tǒng)流水線OpenMP并行算法的加速比??梢钥闯觯瑐鹘y(tǒng)流水線并行的最大加速比僅為15.5(此時(shí)對(duì)應(yīng)的問題規(guī)模為64×64×64,線程數(shù)為57),當(dāng)使用MIC全部的228個(gè)線程時(shí),加速比降為5.0(32×64×128),7.1(64×64×64)和6.2(128×64×32),表明在眾核加速器上,隨著線程數(shù)量增加,傳統(tǒng)流水線并行存在嚴(yán)重的可擴(kuò)展性瓶頸。與此同時(shí),對(duì)于上面3個(gè)問題規(guī)模,即使采用全部228個(gè)線程,TL-Pipeline加速比也可分別達(dá)到69.1,82.3和98.3。注意到TL-Pipeline加速比的提升對(duì)于不同dp1×dp2的組合變化較大,這是因?yàn)榱魉€開銷以及線程/流水段負(fù)載均衡隨不同模擬變化較大??傊?,TL-Pipeline為在MIC這樣的眾核加速器上實(shí)現(xiàn)LU-SGS等高數(shù)據(jù)依賴求解方法的可擴(kuò)展OpenMP并行提供了新的方法。

      Figure 12 Improvements of TL-Pipeline over the traditional pipeline approach for three grids dimensions on Intel Xeon Phi圖12 3種網(wǎng)格規(guī)模下MIC上2層流水線并行相對(duì)于傳統(tǒng)流水線并行的性能提升

      本文采用規(guī)模為256×256×256的算例,在天河二號(hào)的MIC協(xié)處理器上測(cè)試對(duì)比了WCNS半節(jié)點(diǎn)重構(gòu)計(jì)算的基準(zhǔn)版本和intrinsics向量化優(yōu)化版本的性能改進(jìn)(如圖13所示)?;鶞?zhǔn)版本在MIC端當(dāng)線程數(shù)為224的時(shí)候性能達(dá)到最優(yōu),相對(duì)MIC上單線程計(jì)算的加速比約為83.8倍。采用深度intrinsics向量化優(yōu)化實(shí)現(xiàn)之后,在線程數(shù)規(guī)模不大的情況下,intrinsics優(yōu)化實(shí)現(xiàn)同樣具有很好的線程可擴(kuò)展性。得益于MIC更寬的向量位寬,深度intrinsics優(yōu)化將最優(yōu)性能提升到基準(zhǔn)實(shí)現(xiàn)的4.5倍左右,在112線程時(shí)取得最大加速比,說明向量優(yōu)化之后MIC上的寬向量部件性能得到了更充分的開發(fā)。

      Figure 13 Performance comparison of baseline and intrinsic implementation for WCNS-E-5 interpolation on MIC圖13 WCNS半節(jié)點(diǎn)重構(gòu)基準(zhǔn)版本和intrinsic版本在MIC上的性能對(duì)比

      5 結(jié)束語

      當(dāng)前,天河系列、神威太湖之光等超級(jí)計(jì)算機(jī)已多次排名世界第一,標(biāo)志著我國超級(jí)計(jì)算機(jī)系統(tǒng)研制能力已進(jìn)入世界前列。與此同時(shí),國內(nèi)很多單位在這些國產(chǎn)超級(jí)計(jì)算機(jī)上開展了大量CFD并行應(yīng)用軟件開發(fā)和性能優(yōu)化工作,取得了不錯(cuò)的成果。長期以來,國防科技大學(xué)CFD應(yīng)用軟件團(tuán)隊(duì)以天河/銀河系列超級(jí)計(jì)算機(jī)為依托,開展了超大規(guī)模復(fù)雜CFD并行應(yīng)用開發(fā)和性能優(yōu)化研究,突破了新型異構(gòu)協(xié)同并行計(jì)算等一系列關(guān)鍵技術(shù),初步實(shí)現(xiàn)了HPC與CFD的深度融合,有力支撐了國產(chǎn)CFD軟件在天河/銀河系列超級(jí)計(jì)算機(jī)上的高效超大規(guī)模并行應(yīng)用。

      當(dāng)前高性能計(jì)算發(fā)展的下一個(gè)里程碑是E級(jí)計(jì)算(Exascale Computing,百億億次浮點(diǎn)運(yùn)算/每秒),美、日、歐洲、俄羅斯等都制定了E級(jí)超級(jí)計(jì)算機(jī)研制計(jì)劃。例如,2016年美國能源部正式啟動(dòng)了E級(jí)計(jì)算計(jì)劃ECP(Exascale Computing Project)[35]。ECP特別強(qiáng)調(diào)應(yīng)用軟件開發(fā),將其作為第1個(gè)重點(diǎn)關(guān)注領(lǐng)域。我國也將E級(jí)超級(jí)計(jì)算機(jī)研制納入了國家“十三五”規(guī)劃,目前國防科技大學(xué)、江南計(jì)算技術(shù)研究所、中科曙光3家單位牽頭開展的E級(jí)超算原型系統(tǒng)研制項(xiàng)目已通過驗(yàn)收,實(shí)際的國產(chǎn)E級(jí)超級(jí)計(jì)算機(jī)系統(tǒng)預(yù)期在2021年左右研制成功。我國E級(jí)計(jì)算計(jì)劃中同樣非常關(guān)注與E級(jí)計(jì)算機(jī)配套的高性能計(jì)算應(yīng)用軟件研制,國家重點(diǎn)研發(fā)計(jì)劃中已部署了一批應(yīng)用軟件研發(fā)項(xiàng)目,其中包括數(shù)值飛行器原型、數(shù)值發(fā)動(dòng)機(jī)原型等CFD相關(guān)項(xiàng)目。可以預(yù)見,基于CFD與E級(jí)計(jì)算機(jī)融合的“數(shù)值風(fēng)洞試驗(yàn)”“數(shù)值優(yōu)化設(shè)計(jì)”“數(shù)值虛擬飛行”將給航空航天飛行器設(shè)計(jì)帶來革命性的變化,并將推動(dòng)流體力學(xué)和空氣動(dòng)力學(xué)等學(xué)科的創(chuàng)新發(fā)展[36]。當(dāng)前,E級(jí)系統(tǒng)CFD應(yīng)用開發(fā)面臨巨大挑戰(zhàn)。一方面超級(jí)計(jì)算機(jī)體系結(jié)構(gòu)異構(gòu)、眾核、寬向量趨勢(shì)明顯,目前大多數(shù)CFD應(yīng)用軟件只能在純CPU系統(tǒng)上運(yùn)行,通常僅支持MPI并行計(jì)算,尚不具備利用新型異構(gòu)眾核寬向量并行體系結(jié)構(gòu)的能力,難以充分發(fā)揮超級(jí)計(jì)算機(jī)的多層次異構(gòu)并行性能潛力。另一方面,CFD數(shù)值模擬實(shí)際浮點(diǎn)計(jì)算性能不高、并行可擴(kuò)展性差的情況仍然普遍存在。對(duì)真實(shí)復(fù)雜CFD應(yīng)用而言,機(jī)器浮點(diǎn)效率常常低于10%甚至5%,擴(kuò)展到千核以上并行效率嚴(yán)重下降。如何高效地利用大量寬向量計(jì)算核心和異構(gòu)體系結(jié)構(gòu),獲得實(shí)際計(jì)算的高性能,是一個(gè)嚴(yán)峻的挑戰(zhàn),“應(yīng)用墻”問題依然突出。因此,迫切需要從大規(guī)模CFD數(shù)值模擬應(yīng)用的數(shù)值模型和算法特點(diǎn)出發(fā),緊密結(jié)合新型異構(gòu)眾核體系結(jié)構(gòu)特征,針對(duì)性地開展并行算法研究工作,使應(yīng)用程序充分發(fā)掘大規(guī)模新一代并行計(jì)算機(jī)性能,支撐實(shí)際CFD應(yīng)用的高效能計(jì)算,滿足國家航空航天飛行器等重大型號(hào)工程氣動(dòng)設(shè)計(jì)需求。

      猜你喜歡
      并行算法天河超級(jí)計(jì)算機(jī)
      超級(jí)計(jì)算機(jī)
      湖南省瀟水涔天河水庫擴(kuò)建工程通過竣工驗(yàn)收
      中國水利(2022年1期)2022-02-13 07:37:00
      地圖線要素綜合化的簡遞歸并行算法
      超級(jí)計(jì)算機(jī)及其在航空航天領(lǐng)域中的應(yīng)用
      科技傳播(2019年22期)2020-01-14 03:06:36
      一條天河走運(yùn)來
      北方音樂(2019年13期)2019-08-21 02:14:32
      美國制造出全球最快超級(jí)計(jì)算機(jī)
      每秒100億億次 中國超級(jí)計(jì)算機(jī)
      天河CBD:集聚創(chuàng)新,遇見城市未來
      空中之家(2017年11期)2017-11-28 05:27:45
      基于GPU的GaBP并行算法研究
      “天河二號(hào)”獲全球超算五連冠等
      云阳县| 区。| 万盛区| 灵山县| 馆陶县| 高邮市| 浮梁县| 永善县| 房产| 扎鲁特旗| 婺源县| 乐至县| 天柱县| 通渭县| 湾仔区| 友谊县| 海门市| 周宁县| 章丘市| 信丰县| 通山县| 潞西市| 皋兰县| 巴塘县| 平远县| 镇安县| 雅江县| 浦北县| 涿州市| 华阴市| 桂平市| 乳源| 灵川县| 平塘县| 遵义县| 望江县| 花莲市| 墨竹工卡县| 荆门市| 鱼台县| 长垣县|