欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種國產(chǎn)異構(gòu)架構(gòu)的并行特征線法計算及存儲優(yōu)化方法

文檔序號:40458376發(fā)布日期:2024-12-27 09:23閱讀:7來源:國知局
一種國產(chǎn)異構(gòu)架構(gòu)的并行特征線法計算及存儲優(yōu)化方法

本發(fā)明涉及中子物理與高性能計算的交叉,特別是指一種國產(chǎn)異構(gòu)架構(gòu)的并行特征線法計算及存儲優(yōu)化方法。


背景技術(shù):

1、中子輸運計算是數(shù)值反應(yīng)堆模擬的重要組成部分。研究穩(wěn)態(tài)中子輸運問題,即求解線性玻爾茲曼方程(bte)可以得到中子在反應(yīng)堆內(nèi)部的通量分布,對初始反應(yīng)堆設(shè)計以及預(yù)測反應(yīng)堆內(nèi)中子運動行為具有重要意義。

2、特征線法(moc,method?of?characteristics)是一種常見的用于求解線性玻爾茲曼方程的確定性數(shù)值方法,其求解思路是將偏微分方程轉(zhuǎn)化為常微分方程。當(dāng)前新一代反應(yīng)堆技術(shù)發(fā)展越來越復(fù)雜,對數(shù)值模擬有高保真、高精細(xì)、高效率的要求,而直接三維特征線法(3d?moc)能夠?qū)崿F(xiàn)堆芯pin-by-pin計算,具有較高的模擬精度。

3、隨著仿真參數(shù)精細(xì)化和算例規(guī)模化,直接三維特征線法堆芯輸運求解表現(xiàn)出存儲量巨大和計算量巨大的特征。超算平臺憑借強大的算力支撐,能夠滿足程序在計算復(fù)雜反應(yīng)堆問題時的計算和存儲需求,使得三維特征線中子輸運程序在工程上應(yīng)用前景廣泛。

4、近年來國產(chǎn)異構(gòu)眾核處理器的飛速發(fā)展,異構(gòu)節(jié)點架構(gòu)逐漸成為了高性能計算平臺的主導(dǎo)范式。以cpu-dcu異構(gòu)體系結(jié)構(gòu)為例,dcu屬于通用協(xié)處理器,基于大規(guī)模并行計算微結(jié)構(gòu)進(jìn)行設(shè)計,本身不能獨立運行計算。但具備較強的并行處理能力,計算能效比高,并且集成片上高帶寬內(nèi)存芯片,擁有較大的存儲帶寬,具備強大的浮點計算能力,適合輔助cpu執(zhí)行計算密集型程序,在大規(guī)模數(shù)據(jù)計算過程中提供優(yōu)異的并行數(shù)據(jù)處理能力,被廣泛應(yīng)用于高性能計算中。然而其獨特的硬件特點給程序移植優(yōu)化帶來挑戰(zhàn),通常體現(xiàn)在并行算法設(shè)計、減小存儲開銷、程序性能優(yōu)化等方面?;谏鲜鰞?nèi)容,本發(fā)明提出了一種國產(chǎn)異構(gòu)架構(gòu)的并行特征線法計算及存儲優(yōu)化方法。


技術(shù)實現(xiàn)思路

1、本發(fā)明的目的在于提出一種國產(chǎn)異構(gòu)架構(gòu)的并行特征線法計算及存儲優(yōu)化方法以解決背景技術(shù)中所提出的問題;本發(fā)明針對cpu搭載國產(chǎn)dcu芯片的異構(gòu)節(jié)點架構(gòu),能夠在確保計算精度的前提下利用國產(chǎn)dcu芯片加速三維特征線中子輸運計算過程,提高并行計算效率,并降低存儲開銷。

2、為了實現(xiàn)上述目的,本發(fā)明采用了如下技術(shù)方案:

3、一種面向國產(chǎn)異構(gòu)架構(gòu)的并行特征線法計算及存儲優(yōu)化方法,包括:

4、根據(jù)反應(yīng)堆幾何構(gòu)造數(shù)值模型,進(jìn)行網(wǎng)格劃分得到平源區(qū)并確定每個平源區(qū)的填充材料、體積、形心等相關(guān)數(shù)據(jù);

5、輸運計算前處理階段,在徑向平面上生成2d循環(huán)軌跡鏈,搜索軸向上的幾何信息生成軸向擠出平源區(qū),為設(shè)備端執(zhí)行生成3d軌跡和分段生成相關(guān)索引信息,并把執(zhí)行核函數(shù)所需的計算信息拷貝到設(shè)備端;

6、輸運計算階段,在主機(jī)端啟動核函數(shù),設(shè)備端依次執(zhí)行平源區(qū)源項更新,輸運掃描計算,更新標(biāo)通量和計算有效中子增值因子、殘差;

7、將設(shè)備端計算結(jié)果拷貝回主機(jī)端,判斷是否收斂,若未收斂則返回上一步,反之迭代結(jié)束。

8、進(jìn)一步地,平源區(qū)源項更新在每個平源區(qū)和每個能群上的求解相對獨立,可以并行的線程總量為平源區(qū)數(shù)量與能群數(shù)量的乘積,將單個平源區(qū)上的單個能群的源項計算交給一個dcu線程負(fù)責(zé)(該并行方式也可以用于標(biāo)通量的更新)。其對應(yīng)的核函數(shù)需求解平源區(qū)的裂變率總和散射率總和,并計算該平源區(qū)在給定能群下的源項。

9、進(jìn)一步地,每次輸運掃描需要計算每個能群下的軌跡的所有通量,同時得出一個新的通量對每個fsr做出貢獻(xiàn)。單一輸運掃描涉及在方位角、方位角下的軌跡、軌跡上的線段、能群和極角這五層嵌套循環(huán)。輸運掃描在整個源迭代實現(xiàn)中的訪存量和計算量都是最大的,大量軌跡配合角度、能群等能提供極好的并行性,基于這一點可以利用dcu提供simt線程并行特點進(jìn)行大規(guī)模并行加速輸運掃描計算。

10、在嵌套循環(huán)掃描的一次循環(huán)中,相應(yīng)核函數(shù)需根據(jù)不同算法(pla與tla)為dcu線程分配計算任務(wù),完成3d軌跡生成與分段,并沿軌跡進(jìn)行輸運掃描,計算軌跡入射中子角通量、出射中子角通量以及兩者差值,最后根據(jù)邊界條件更新邊界通量。

11、進(jìn)一步地,在計算每條3d軌跡在平源區(qū)內(nèi)的角通量變化量時,根據(jù)并行粒度大小的不同提供以下兩種方案:

12、plane級并行算法(pla)具體指一個dcu線程負(fù)責(zé)一個平面的軌跡生成分段以及角通量計算和貢獻(xiàn)值。

13、track級并行算法(tla)具體指一個dcu線程負(fù)責(zé)一條3d軌跡生成分段以及角通量計算和貢獻(xiàn)值。

14、在不同并行算法實現(xiàn)上,生成單條3d軌跡的邏輯不變,變化只在于數(shù)量。

15、進(jìn)一步地,對所述輸運掃描的軌跡生成、分段、線段正反向角通量和貢獻(xiàn)值計算、傳遞軌跡正反向邊界通量、在主機(jī)端與設(shè)備端之間拷貝數(shù)據(jù)這五個功能實現(xiàn)的時間性能進(jìn)行評估,量化計算和通信時間,具體包括:

16、對于串行程序,輸運掃描串行總時間公式:

17、

18、其中,指計算單條3d軌跡各個屬性值所花費時間,指計算單條線段各屬性值所花費時間,指計算單條線段單能群上角通量變化值,指計算單線段單能群上角通量變化對平源區(qū)標(biāo)通量的貢獻(xiàn)值,為0,因傳輸邊界通量時不需要浮點加減乘等計算操作。指單條3d軌跡相關(guān)信息的總通信時間,指訪問存儲空間中的所投影的2d軌跡上的線段信息、軸向擠出平源區(qū)、平源區(qū)形心、材料的總通信時間,指計算單條線段單個能群角通量時訪問存儲空間上的線段起點角通量、源項、材料截面數(shù)據(jù)和指數(shù)計算查表的總通信時間,指訪問存儲空間上的權(quán)重信息和標(biāo)通量的總通信時間,指訪問邊界通量的通信時間;

19、對于并行程序,若線程總數(shù)等于plane數(shù)量,對于pla算法來說,各個線程處理的3d軌跡數(shù)和線程數(shù)不完全相同,則輸運掃描總時間計算公式為:

20、

21、若線程總數(shù)等于3d軌跡數(shù)量,對于tla算法來說,單條軌跡上的3d線段總數(shù)nsdseg=1,negrp表示基準(zhǔn)例題能群數(shù)量;tla算法中各個線程處理的3d線段數(shù)不完全相同,則輸運掃描總時間計算公式為:

22、

23、其中,th2d表示數(shù)據(jù)從主機(jī)端拷貝到設(shè)備端時間;λ∈(0,p)表示因wavefront發(fā)散削弱加速效果因子;tcomp表示計算時間;p表示用于浮點計算的計算單元總數(shù);tidle表示等待時間;tcomm表示訪存通信;th2d表示數(shù)據(jù)從主機(jī)端拷貝到設(shè)備端時間;nthd表示線程總數(shù);negrp表示基準(zhǔn)例題能群數(shù)量;t1′comp指并行程序中一個線程計算單條3d軌跡各個屬性值所花費時間;t3′comp指并行程序中一個線程計算單條線段單能群上角通量變化值所花費時間;t1′comm指并行程序中一個線程內(nèi)單條3d軌跡相關(guān)信息的總通信時間;t3′comm指并行程序中一個線程計算單條線段單個能群角通量時訪問存儲空間上的線段起點角通量、源項、材料截面數(shù)據(jù)和指數(shù)計算查表的總通信時間;ξ=0表示訪存時間為0;ξ=1表示各線程訪存完全串行;

24、進(jìn)一步地,針對性能公式中的th2d、td2h,提出數(shù)據(jù)傳輸優(yōu)化方案。在執(zhí)行輸運掃描核函數(shù)時,需要拷貝2d軌跡、2d線段、2d軌跡鏈、軸向平源區(qū)信息和3d軌跡索引信息,存儲這些信息的數(shù)組雖然占內(nèi)存總量不高,但大部分并不是一維數(shù)組,需要調(diào)用多次hipmemcpyhtod拷貝函數(shù)導(dǎo)致api的啟動開銷高于數(shù)據(jù)本身傳輸開銷。通過在主機(jī)端將多維數(shù)據(jù)通過增加索引數(shù)組方法改成一維數(shù)據(jù),降低拷貝函數(shù)開啟次數(shù),減少數(shù)據(jù)傳輸時間。

25、進(jìn)一步地,針對性能公式中的ξ,提出寄存器編譯優(yōu)化方案。使用hip提供的_launch_bounds編譯器指令,影響內(nèi)核函數(shù)的寄存器使用量,確保合適的workgroup數(shù)和wavefront數(shù)駐留在cu上,通過硬件切換執(zhí)行單位來隱藏開銷。

26、進(jìn)一步地,針對性能公式中的t’comm,提出降低訪存開銷方案。軌跡生成期間使用的幾何邊界信息和計算角通量貢獻(xiàn)值時求積組的權(quán)重信息在輸運掃描期間都是不變的,且這部分信息少,在一個wavefront內(nèi)的線程訪問幾乎都是同一位置,將這部分信息放入dcu的常量內(nèi)存中,相比于全局存儲有更低的訪存延遲。

27、進(jìn)一步地,提出預(yù)先分配空間方案。設(shè)備端每個線程預(yù)先在顯存分配可處理最大線段數(shù)空間,這些空間存在部分冗余,因為線段數(shù)最大的軌跡通常只占一小部分。采用直接映射方式,計算偏移整數(shù)倍線程數(shù)的軌跡中最大的線段數(shù),即這個線程能處理的軌跡中線段最大數(shù),而不是整個軌跡中最大線段數(shù)。總和每個線程能處理的線段數(shù),預(yù)先在顯存中分配的空間,然后用一維指針數(shù)組按線程編號把每個線程分配空間的起始位置存入。

28、與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種國產(chǎn)異構(gòu)架構(gòu)的并行特征線法計算及存儲優(yōu)化方法,具備以下有益效果:

29、本發(fā)明針對中子輸運程序在求解時內(nèi)在并行性特點,設(shè)計了輸運掃描并行算法pla和tla,從輸運掃描串行運行時間性能分析出發(fā),得出輸運掃描異構(gòu)并行性能模型,指導(dǎo)異構(gòu)算法優(yōu)化。本發(fā)明通過寄存器編譯優(yōu)化技術(shù),提高了硬件資源利用率。同時基于合并訪存和共享存儲技術(shù)降低中子輸運掃描算法的訪存延遲,將算法中重復(fù)使用并且訪問事務(wù)帶寬有效性低的變量放入共享存儲體中。針對降低主機(jī)端和設(shè)備端數(shù)據(jù)傳輸時拷貝函數(shù)調(diào)用次數(shù)高但數(shù)據(jù)量低的現(xiàn)象,將多維數(shù)據(jù)封裝成一維數(shù)據(jù),降低拷貝函數(shù)調(diào)用次數(shù)。分析pla和tla存儲軌跡和線段空間存在冗余,調(diào)整數(shù)據(jù)結(jié)構(gòu),優(yōu)化空間利用率。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
肇庆市| 旬阳县| 淳安县| 涿州市| 德阳市| 三门县| 武定县| 嘉善县| 惠东县| 平潭县| 玉山县| 喀喇| 固原市| 天镇县| 明溪县| 军事| 商南县| 舒城县| 达日县| 吉水县| 彩票| 临沂市| 浪卡子县| 东阳市| 溆浦县| 望都县| 梅河口市| 沾化县| 桃源县| 凤阳县| 海口市| 万安县| 玛沁县| 微山县| 柞水县| 元氏县| 神池县| 鸡泽县| 兴城市| 宜黄县| 同心县|