亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向眾核處理器的水動力學CFD并行計算探索

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

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

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

        引 言

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

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

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

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

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

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

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

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

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

        1 水動力學CFD計算方法

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

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

        圖1 SIMPLE和人工壓縮算法計算流程

        2 CFD模擬并行計算方案

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

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

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

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

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

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

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

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

        表1 Athread常用行數(shù)

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

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

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

        u

        、

        v

        和壓力

        p

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

        u

        、

        v

        相對壓力

        p

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

        u

        、

        v

        、

        p

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

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

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

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

        NS

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

        k

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

        N

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

        NS

        增大時,加速比逐漸上升并趨于定值(左圖)。其原因為:隨著

        NS

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

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

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

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

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

        u

        、

        v

        、

        p

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

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

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

        3.1 并行計算結(jié)果

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

        方腔驅(qū)動流,是指方腔中的不可壓縮流體隨頂蓋勻速運動過程中的流動及流場結(jié)構(gòu)變化等現(xiàn)象,具有幾何外形簡單、流動結(jié)構(gòu)特征顯著、邊界條件容易實施等特點,常被用作不可壓縮流動模擬結(jié)果驗證和數(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ù)值計算結(jié)果,下頁表2則給出主渦和次渦相對位置的數(shù)值模擬結(jié)果;圖表中同時給出文獻[10]中Ghia的計算結(jié)果。

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

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

        表2 渦心位置計算結(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算法計算流程的優(yōu)化

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

        表3 SIMPLE算法和人工壓縮算法計算熱點分析

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

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

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

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

        u

        v

        系數(shù)、

        p

        局部系數(shù)(由

        u

        ,

        v

        ,

        p

        計算的部分)計算與

        u

        、

        v

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

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

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

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

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

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

        4 結(jié) 語

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

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

        猜你喜歡
        壓縮算法超級計算機數(shù)據(jù)結(jié)構(gòu)
        超級計算機
        超級計算機及其在航空航天領(lǐng)域中的應(yīng)用
        科技傳播(2019年22期)2020-01-14 03:06:36
        基于參數(shù)識別的軌道電路監(jiān)測數(shù)據(jù)壓縮算法研究
        美國制造出全球最快超級計算機
        每秒100億億次 中國超級計算機
        更正聲明
        “翻轉(zhuǎn)課堂”教學模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學為例
        高職高專數(shù)據(jù)結(jié)構(gòu)教學改革探討
        中國市場(2016年45期)2016-05-17 05:15:48
        PMU數(shù)據(jù)預(yù)處理及壓縮算法
        TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學中的應(yīng)用
        国产午夜成人av在线播放| 亚洲一区二区三区乱码在线| 亚洲中文乱码在线视频| 白白色白白色视频发布| 国产裸体xxxx视频在线播放| 国产亚洲日韩欧美久久一区二区| 美女视频永久黄网站免费观看国产| 自拍偷区亚洲综合第一页| 国产精品白丝久久av网站| 国产精品欧美成人| 成人国产永久福利看片| 青青草绿色华人播放在线视频| 青青草精品在线视频观看| 熟女精品视频一区二区三区| 日韩二三区| 丰满少妇又爽又紧又丰满动态视频 | av在线免费观看网站免费| 无码人妻精品一区二区 | 国产精品美女黄色av| 久久精品伊人久久精品伊人| 亚洲国产av无码精品| 成人做爰视频www| 亚洲九九夜夜| 丝袜av乱码字幕三级人妻| 国产精品久久成人网站| 一本色道久久综合狠狠躁| 中文字幕日本熟妇少妇| 亚洲美女自拍偷拍视频| 欧美成人在线视频| 国产精品亚洲专区无码web| 一本久道在线视频播放| 精品国产三级a∨在线欧美| 亚洲啪啪综合av一区| 亚洲高清国产品国语在线观看| 国产免费人成视频在线观看| 国产精品美女久久久久av福利| 亚洲一二三区在线观看| 中文字幕中文一区中文字幕| 日本久久伊人特级黄色| 国产亚洲av综合人人澡精品| 人妻有码中文字幕在线不卡|