• 
    

    
    

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

      面向眾核處理器的水動力學(xué)CFD并行計(jì)算探索

      2021-09-07 17:31:46張亞英吳乘勝王建春劉宏斌
      船舶 2021年4期
      關(guān)鍵詞:壓縮算法超級計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)

      張亞英 吳乘勝 王建春 劉宏斌

      (1. 中國船舶科學(xué)研究中心 無錫 214082;2. 國家超級計(jì)算無錫中心 無錫 214072)

      引 言

      高性能計(jì)算已深入諸多科學(xué)與工程應(yīng)用領(lǐng)域的數(shù)值模擬中,成為科技創(chuàng)新和提升核心競爭力的重要手段和支撐。具體到船舶水動力學(xué)領(lǐng)域,隨著CFD計(jì)算量成幾何量級增長,對計(jì)算能力的要求越來越高,在超級計(jì)算機(jī)上開展大規(guī)模計(jì)算漸趨普遍。

      近年來,超級計(jì)算機(jī)架構(gòu)正在發(fā)生由同構(gòu)向異構(gòu)發(fā)展的變革。由于“主頻墻”的限制,單核處理器計(jì)算性能趨于極限;由于“通信墻”的限制,基于分布式的并行計(jì)算無法在大規(guī)模并行中獲得優(yōu)秀的加速效果;由于“功耗墻”的限制,通過大規(guī)模擴(kuò)展通用處理器(CPU)提升計(jì)算能力也不太現(xiàn)實(shí)。因此,異構(gòu)眾核逐漸成為超級計(jì)算機(jī)架構(gòu)的發(fā)展趨勢。以2020年6月22日發(fā)布的超級計(jì)算機(jī)TOP500榜單為例,其中144臺都采用加速器或協(xié)處理器,也就是采用異構(gòu)眾核架構(gòu);在榜單前10名中,8臺采用異構(gòu)眾核架構(gòu);而近十年來登頂?shù)某売?jì)算機(jī),全部采用異構(gòu)眾核架構(gòu)。

      異構(gòu)是相對于同構(gòu)而言,因此先簡單介紹一下同構(gòu)架構(gòu)。同構(gòu)架構(gòu)中所有的計(jì)算核心都是由CPU構(gòu)成,所有計(jì)算核心的邏輯處理能力和數(shù)據(jù)計(jì)算能力都很強(qiáng),不受計(jì)算任務(wù)復(fù)雜度的影響;但其缺點(diǎn)是成本高、功耗大。異構(gòu)與同構(gòu)相比,計(jì)算核心的種類不同,一般既有CPU,也有協(xié)處理器。異構(gòu)系統(tǒng)可以進(jìn)行深層次并行,使計(jì)算任務(wù)劃分更加細(xì)化,并行程度更高。典型的異構(gòu)眾核處理器架構(gòu)包括CPU+GPU架構(gòu)、CPU+MIC架構(gòu)等,“神威·太湖之光”超級計(jì)算機(jī)的國產(chǎn)申威架構(gòu)SW26010處理器,也屬于異構(gòu)眾核架構(gòu)。

      異構(gòu)眾核架構(gòu)使得超級計(jì)算機(jī)的計(jì)算能力大幅度提升,但對CFD高性能計(jì)算也是挑戰(zhàn)。因?yàn)橐獙?shí)現(xiàn)對計(jì)算資源的充分利用,需要從數(shù)值算法、數(shù)據(jù)結(jié)構(gòu)、計(jì)算流程等各個(gè)層面進(jìn)行重構(gòu)和優(yōu)化。NASA的《CFD Vision 2030 Study》報(bào)告也將其列為重大技術(shù)挑戰(zhàn)。

      國內(nèi)外不少研究人員針對CPU+GPU架構(gòu)、CPU+MIC架構(gòu),開展了CFD眾核并行計(jì)算研究;也有少量基于開源軟件針對國產(chǎn)申威架構(gòu)的CFD眾核并行計(jì)算研究??傮w看來,目前CFD界遠(yuǎn)未實(shí)現(xiàn)對異構(gòu)眾核超算能力的有效利用,有以下原因:

      (1)目前常用CFD軟件的并行計(jì)算,大多數(shù)是針對MPI并行設(shè)計(jì)的,一般不適合在異構(gòu)眾核平臺上運(yùn)行。

      (2)CFD計(jì)算通常具有全局相關(guān)性特點(diǎn),并行規(guī)模的增大帶來了并行復(fù)雜度與通訊開銷的增加,導(dǎo)致并行效率下降;同時(shí)水動力學(xué)CFD常用的SIMPLE算法的流程相對復(fù)雜,增加了細(xì)粒度并行優(yōu)化的難度,異構(gòu)加速面臨巨大挑戰(zhàn)。

      (3)CFD軟件一般具有數(shù)據(jù)結(jié)構(gòu)復(fù)雜、計(jì)算流程復(fù)雜和代碼量龐大等特點(diǎn),從程序移植到優(yōu)化,都需要大量的重構(gòu)工作,難度和工作量相當(dāng)大。

      本文面向異構(gòu)眾核處理器,開展水動力學(xué)CFD并行計(jì)算探索研究,為自主CFD求解器與國產(chǎn)超級計(jì)算機(jī)硬件的有效結(jié)合進(jìn)行關(guān)鍵技術(shù)攻關(guān)。針對國產(chǎn)申威26010異構(gòu)眾核處理器,對水動力學(xué)CFD中典型的SIMPLE算法和人工壓縮算法,從數(shù)據(jù)存儲、數(shù)據(jù)分配和數(shù)據(jù)結(jié)構(gòu)等多個(gè)方面入手,設(shè)計(jì)眾核并行計(jì)算方法,通過典型算例測試和驗(yàn)證眾核加速效果,并針對SIMPLE算法計(jì)算熱點(diǎn)分散的特點(diǎn),采用循環(huán)融合的方法對其計(jì)算流程進(jìn)行優(yōu)化,使SIMPLE算法和人工壓縮算法分別獲得11倍和24倍的最高加速。該項(xiàng)研究工作,初步展現(xiàn)眾核處理器在水動力學(xué)CFD并行計(jì)算中的應(yīng)用潛力,并將為自主CFD求解器與國產(chǎn)超級計(jì)算機(jī)硬件的有效結(jié)合提供技術(shù)儲備。

      1 水動力學(xué)CFD計(jì)算方法

      水動力學(xué)CFD計(jì)算處理的通常為不可壓縮粘性流動,其無量綱化積分形式控制方程組如下:

      本文采用基于交錯網(wǎng)格的有限體積法離散控制方程。論文在求解控制方程組時(shí),使用了兩種數(shù)值算法——SIMPLE算法和人工壓縮算法,兩種算法的求解流程參見圖1。

      圖1 SIMPLE和人工壓縮算法計(jì)算流程

      2 CFD模擬并行計(jì)算方案

      2.1 國產(chǎn)申威眾核處理器簡介

      “神威·太湖之光”超級計(jì)算機(jī)系統(tǒng),采用的是國產(chǎn)申威架構(gòu)SW26010處理器。處理器本身就包括控制核心和計(jì)算核心陣列,相當(dāng)于把CPU和加速處理器集成到一個(gè)芯片上,其內(nèi)部架構(gòu)見下頁圖2。

      圖2 SW26010處理器架構(gòu)示意圖

      SW26010處理器包含4個(gè)核組(CG),各核組之間采用片上網(wǎng)絡(luò)(NOC)互聯(lián),每個(gè)核組內(nèi)包含1個(gè)主控制核心(主核,MPE)、1個(gè)從核(CPE)集群(由64個(gè)從核組成)、1個(gè)協(xié)議處理單元(PPU)和1個(gè)內(nèi)存控制器(MC)。核組內(nèi)采用共享存儲架構(gòu),內(nèi)存與主/從核之間可通過MC傳輸數(shù)據(jù)。

      與其他異構(gòu)眾核架構(gòu)一樣,SW26010處理器的計(jì)算能力主要體現(xiàn)在從核上;但相比于GPU和MIC,從核上的存儲空間和帶寬較小,往往使數(shù)據(jù)傳輸成為程序運(yùn)行的瓶頸。

      2.2 主要并行工具與函數(shù)

      Athread與OpenACC*均可用來進(jìn)行從核并行,與OpenACC*相比,Athread的操作性更高,可以通過調(diào)用相關(guān)實(shí)現(xiàn)數(shù)據(jù)傳輸和從核運(yùn)算的自主可控,加速部分不再只限于循環(huán)計(jì)算,能夠更加方便對并行方案進(jìn)行設(shè)計(jì)。

      完整的從核加速過程通常包含以下函數(shù),如表1所示。

      表1 Athread常用行數(shù)

      2.3 眾核并行計(jì)算方案設(shè)計(jì)

      2.3.1 數(shù)據(jù)存儲模式

      由于本文采用交錯網(wǎng)格,速度

      u

      、

      v

      和壓力

      p

      3個(gè)主要變量存儲在3套網(wǎng)格上,數(shù)據(jù)量和計(jì)算索引均不統(tǒng)一,將會使尋址過程變得更加復(fù)雜。為此,本文中采用一種特殊的數(shù)據(jù)存儲模式(如圖3所示):將速度

      u

      、

      v

      相對壓力

      p

      多出的數(shù)據(jù)單獨(dú)存儲,此時(shí),

      u

      v

      、

      p

      共同存儲在主控制體上,且擁有相同的索引,從而簡化尋址過程、提高尋址效率。

      圖3 交錯網(wǎng)格下變量分布和存儲方式

      2.3.2 數(shù)據(jù)分配

      本文采用循環(huán)并行,由于從核局部空間大小有限(64 KB),因此合理分配數(shù)據(jù)才能充分利用從核局部空間和計(jì)算資源。數(shù)據(jù)分配方案設(shè)計(jì)為:設(shè)定單個(gè)從核單次計(jì)算的數(shù)據(jù)量NS,則64個(gè)從核一次能夠計(jì)算64×

      NS

      個(gè)數(shù)據(jù),當(dāng)數(shù)據(jù)量很大時(shí),可以將數(shù)據(jù)分批多次加載到從核上進(jìn)行計(jì)算。此時(shí),可以根據(jù)當(dāng)前的加載次數(shù)

      k

      、當(dāng)前次加載的數(shù)據(jù)量

      N

      以及從核ID號,確定當(dāng)前從核(線程)所計(jì)算數(shù)據(jù)的起始位置,并從主存獲取數(shù)據(jù)。同時(shí),為了考察通信的影響,論文對單獨(dú)一個(gè)循環(huán)進(jìn)行測試,測試對象為人工壓縮算法中內(nèi)部單元壓強(qiáng)的計(jì)算過程,結(jié)果見圖4。從圖4可見,當(dāng)

      NS

      增大時(shí),加速比逐漸上升并趨于定值(左圖)。其原因?yàn)椋弘S著

      NS

      值的增加,通信占比逐漸降低并趨于定值(右圖),從而使計(jì)算過程的加速效果愈發(fā)突顯。

      圖4 不同NS值下加速比、通信占比和計(jì)算占比變化曲線

      2.3.3 數(shù)據(jù)結(jié)構(gòu)

      根據(jù)數(shù)據(jù)分配方案,NS代表從核計(jì)算的數(shù)據(jù)量,而從核局部空間的大小使單個(gè)從核存儲的數(shù)據(jù)量有限;同時(shí),由于CFD計(jì)算過程復(fù)雜,將數(shù)據(jù)以結(jié)構(gòu)體形式合理存儲,可使數(shù)據(jù)的傳輸和使用更為方便。但是,將多個(gè)變量集中在一個(gè)數(shù)據(jù)結(jié)構(gòu)中,必然會造成在當(dāng)前計(jì)算中部分變量未使用的情況,這樣既增加通信負(fù)擔(dān),又占據(jù)存儲空間。因此,合理的數(shù)據(jù)結(jié)構(gòu)非常重要。

      由于CFD程序中有多個(gè)計(jì)算熱點(diǎn)需要并行化,因此對數(shù)據(jù)結(jié)構(gòu)進(jìn)行針對性的設(shè)計(jì)比較困難,本文將重點(diǎn)放在盡量減少無用數(shù)據(jù)的存儲和傳輸上。在CFD程序中,將系數(shù)變量組成單個(gè)結(jié)構(gòu)體,將

      u

      、

      v

      、

      p

      以主控制單元的形式組成結(jié)構(gòu)體,并在此基礎(chǔ)上設(shè)計(jì)了如圖5所示的數(shù)組結(jié)構(gòu)體和結(jié)構(gòu)體數(shù)組兩種形式,用于對比兩者并行加速效果。

      圖5 兩種數(shù)據(jù)結(jié)構(gòu)

      3 典型流動眾核并行計(jì)算結(jié)果與分析

      3.1 并行計(jì)算結(jié)果

      本文以二維方腔驅(qū)動流CFD模擬為算例,研究眾核并行的加速效果。

      方腔驅(qū)動流,是指方腔中的不可壓縮流體隨頂蓋勻速運(yùn)動過程中的流動及流場結(jié)構(gòu)變化等現(xiàn)象,具有幾何外形簡單、流動結(jié)構(gòu)特征顯著、邊界條件容易實(shí)施等特點(diǎn),常被用作不可壓縮流動模擬結(jié)果驗(yàn)證和數(shù)值算法測試的典型算例。數(shù)值模擬中,邊界條件都可采用速度邊界:其中上邊界(頂蓋)有水平方向速度,其他邊界滿足無滑移條件。

      使用SIMPLE和人工壓縮算法,分別采用數(shù)組結(jié)構(gòu)體和結(jié)構(gòu)體數(shù)組兩種數(shù)據(jù)結(jié)構(gòu),開展不同網(wǎng)格單元數(shù)(100×100 ~1 000×1 000)情況下、

      Re

      = 1 000工況方腔驅(qū)動流的CFD模擬。圖6給出了方腔水平中線與垂直中線上的無量綱速度分布數(shù)值計(jì)算結(jié)果,下頁表2則給出主渦和次渦相對位置的數(shù)值模擬結(jié)果;圖表中同時(shí)給出文獻(xiàn)[10]中Ghia的計(jì)算結(jié)果。

      圖6 方腔水平和垂直中線上速度分布(左)及方腔內(nèi)部流線分布(右),Re=1 000

      本文在并行計(jì)算過程中,并未改變迭代方法等計(jì)算過程,因此,不同的數(shù)據(jù)結(jié)構(gòu)和算法應(yīng)有基本一致的計(jì)算結(jié)果。根據(jù)圖6以及表2可以看出:無論是速度分布或主渦與次渦的渦心坐標(biāo),均與參考文獻(xiàn)的結(jié)果十分接近,這也說明并行計(jì)算結(jié)果的正確性。

      表2 渦心位置計(jì)算結(jié)果

      圖7給出不同網(wǎng)格單元數(shù)情況下,眾核并行的加速情況。從圖中可以看出:

      圖7 眾核并行加速曲線

      (1)隨著網(wǎng)格單元數(shù)增加,加速比逐漸上升并趨于平穩(wěn);

      (2)從兩種算法的對比來看,人工壓縮算法的加速效果(最高約24倍)優(yōu)于SIMPLE算法(最高約9倍);

      (3)從兩種數(shù)據(jù)結(jié)構(gòu)的對比來看,采用數(shù)組結(jié)構(gòu)體并行加速效果優(yōu)于采用結(jié)構(gòu)體數(shù)組。

      3.2 對SIMPLE算法計(jì)算流程的優(yōu)化

      根據(jù)上一節(jié)的研究可以發(fā)現(xiàn),在采用相同數(shù)據(jù)結(jié)構(gòu)的情況下,SIMPLE算法的并行加速效果明顯不如人工壓縮算法。其原因是SIMPLE算法的計(jì)算流程更為復(fù)雜(見圖1),從而導(dǎo)致計(jì)算熱點(diǎn)分布較為分散。表3給出了SIMPLE算法和人工壓縮算法的計(jì)算熱點(diǎn)分析結(jié)果。

      表3 SIMPLE算法和人工壓縮算法計(jì)算熱點(diǎn)分析

      結(jié)合2.3節(jié)(圖4)通信占比與計(jì)算占比之間的關(guān)系,SIMPLE算法分散的熱點(diǎn)會導(dǎo)致在眾多的簡單循環(huán)計(jì)算中,因數(shù)據(jù)量有限,當(dāng)計(jì)算中需多個(gè)變量時(shí),必然造成通信的增加,導(dǎo)致通信相對計(jì)算有較大的占比,使局部加速效果偏低,進(jìn)而導(dǎo)致整個(gè)CFD計(jì)算程序的并行加速效果不理想。

      為此,本文對SIMPLE算法的計(jì)算流程進(jìn)行優(yōu)化,將SIMPLE算法中非相關(guān)的數(shù)據(jù)計(jì)算過程進(jìn)行集中處理,即在一個(gè)大循環(huán)中通過判斷語句進(jìn)行不同的計(jì)算。這樣,在從核計(jì)算中,提高了數(shù)據(jù)的復(fù)用性,減少常用變量的重復(fù)傳輸。流程優(yōu)化前后的計(jì)算熱點(diǎn)對比見表4。

      表4 SIMPLE算法計(jì)算流程優(yōu)化前后計(jì)算熱點(diǎn)分布

      由表4可見,優(yōu)化后的SIMPLE算法流程,減少了計(jì)算步驟,使計(jì)算熱點(diǎn)分布更加集中,其中

      u

      、

      v

      系數(shù)、

      p

      局部系數(shù)(由

      u

      ,

      v

      ,

      p

      計(jì)算的部分)計(jì)算與

      u

      、

      v

      方程求解兩部分總和占比超過74%。

      圖8給出了SIMPLE算法計(jì)算流程優(yōu)化前后的眾核并行加速曲線。從圖中可見,優(yōu)化算法流程使加速效果略有提升,說明計(jì)算熱點(diǎn)分布的集中程度會影響眾核加速效果,且熱點(diǎn)越集中加速效果越好。

      圖8 SIMPLE算法計(jì)算流程優(yōu)化前后并行加速比

      同時(shí),對比圖7和圖8可見,即使經(jīng)過計(jì)算流程優(yōu)化,SIMPLE算法的眾核并行加速效果也遠(yuǎn)未達(dá)到人工壓縮算法的并行加速效果,經(jīng)分析主要原因如下:

      (1)SIMPLE算法涉及方程的迭代求解,迭代過程自身就包含數(shù)據(jù)更新、計(jì)算新值和判斷收斂三部分,而數(shù)據(jù)更新和判斷收斂在單個(gè)迭代步內(nèi)占比較小,但是由于內(nèi)迭代和外迭代的重復(fù)進(jìn)行,也會影響最終的加速效果。

      (2)算法本身計(jì)算過程中讀取數(shù)據(jù)對于高速緩存的利用等。

      4 結(jié) 語

      本文面向異構(gòu)眾核處理器,開展不可壓縮流動的CFD并行計(jì)算探索研究。針對國產(chǎn)申威26010處理器的特點(diǎn),對SIMPLE算法和人工壓縮算法設(shè)計(jì)了眾核并行計(jì)算方案,并通過二維方腔驅(qū)動流算例測試和驗(yàn)證了眾核加速效果:人工壓縮算法最高加速約24倍,SIMPLE算法最高加速約11倍。論文的研究工作,初步展現(xiàn)了眾核處理器在不可壓縮流動CFD計(jì)算中的應(yīng)用潛力。

      論文的研究工作目前還是探索性的:一方面,僅探討了單個(gè)核組使用從核陣列的加速效果,并且諸如寄存器通信、雙緩沖等優(yōu)化方法暫未使用,因此加速效果還有一定的提升空間;另一方面,論文中開發(fā)、使用的CFD程序較為簡單,而面向工程應(yīng)用的大型CFD軟件在數(shù)據(jù)結(jié)構(gòu)、計(jì)算流程等方面復(fù)雜得多,在神威平臺上進(jìn)行眾核加速,則需要在各方面進(jìn)行更多的探索和研究。

      猜你喜歡
      壓縮算法超級計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)
      超級計(jì)算機(jī)
      超級計(jì)算機(jī)及其在航空航天領(lǐng)域中的應(yīng)用
      科技傳播(2019年22期)2020-01-14 03:06:36
      基于參數(shù)識別的軌道電路監(jiān)測數(shù)據(jù)壓縮算法研究
      美國制造出全球最快超級計(jì)算機(jī)
      每秒100億億次 中國超級計(jì)算機(jī)
      更正聲明
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      PMU數(shù)據(jù)預(yù)處理及壓縮算法
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      舒兰市| 郓城县| 衡水市| 太康县| 靖安县| 信阳市| 乌拉特前旗| 闸北区| 宁晋县| 来凤县| 扎鲁特旗| 江孜县| 邳州市| 乐清市| 板桥市| 广汉市| 凤山县| 霍林郭勒市| 当雄县| 将乐县| 武冈市| 随州市| 泗阳县| 红河县| 沾益县| 兴安县| 广河县| 嘉峪关市| 南丹县| 海晏县| 当雄县| 冷水江市| 镇安县| 青海省| 凌源市| 宁津县| 元朗区| 萝北县| 库伦旗| 印江| 合水县|