面向天河2A系統(tǒng)的基于蒙特卡羅方法的粒子輸運(yùn)異構(gòu)協(xié)同計(jì)算
發(fā)布時(shí)間:2021-10-17 12:22
粒子輸運(yùn)模擬在核科學(xué)領(lǐng)域、醫(yī)療放射治療領(lǐng)域中占有重要的地位;贛C方法設(shè)計(jì)和開發(fā)了面向天河2A系統(tǒng)的粒子輸運(yùn)異構(gòu)協(xié)同算法;基于天河2A系統(tǒng)的異構(gòu)通信模式BCL和ACL,提出了一種CPU與加速器Matrix2000之間的簡(jiǎn)單高效的對(duì)稱通信模式;在Matrix2000加速器端,通過OpenMP指令開發(fā)程序的線程級(jí)并行;優(yōu)化了原MC程序串行數(shù)據(jù)收集通信模式,提出了新的二叉樹通信模式,極大地減少了通信時(shí)間。實(shí)現(xiàn)的基于CPU/Matrix2000異構(gòu)協(xié)同計(jì)算的并行程序,在天河2A系統(tǒng)上進(jìn)行測(cè)試,大規(guī)模測(cè)試可以擴(kuò)展到45萬核,相對(duì)5萬核并行效率保持在22.54%。
【文章來源】:計(jì)算機(jī)工程與科學(xué). 2020,42(11)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
模擬粒子輸運(yùn)過程
首先0號(hào)進(jìn)程初始化任務(wù),接著把數(shù)據(jù)發(fā)送給其他所有從進(jìn)程,從進(jìn)程接收到數(shù)據(jù)后開始計(jì)算,并在從進(jìn)程的計(jì)算結(jié)束后設(shè)置同步柵欄,直到所有從進(jìn)程的計(jì)算都結(jié)束后,0號(hào)進(jìn)程才開始收集從進(jìn)程發(fā)送過來的結(jié)果數(shù)據(jù)。數(shù)據(jù)的收集過程中所有從進(jìn)程都向主進(jìn)程阻塞發(fā)送數(shù)據(jù),主進(jìn)程進(jìn)行阻塞接收,先到的信息先被處理。對(duì)于主進(jìn)程來說這是一個(gè)串行處理過程,此通信方式會(huì)造成通信瓶頸,核數(shù)越多,對(duì)程序性能的影響越大。圖2展示了P個(gè)進(jìn)程的通信過程。3.2 優(yōu)化后的二叉樹通信模式
考慮到MC程序0號(hào)進(jìn)程對(duì)收集到的數(shù)據(jù)只進(jìn)行簡(jiǎn)單的統(tǒng)計(jì)處理,所以可以通過逐層進(jìn)行兩兩進(jìn)程通信,實(shí)現(xiàn)局部統(tǒng)計(jì)處理,最終把統(tǒng)計(jì)結(jié)果匯總到0號(hào)進(jìn)程。本文采用二叉樹通信模式來實(shí)現(xiàn)這種通信過程,假設(shè)總進(jìn)程數(shù)為2K+res,其中,K,res都是大于或等于0的整數(shù),且滿足條件0≤res<2K,為了滿足二叉樹的通信模式,排在前面的2*res個(gè)進(jìn)程先就近奇偶進(jìn)程號(hào)兩兩通信,并把通信過程中已發(fā)送過信息的進(jìn)程剔除,不參與下次通信,從而下一階段通信的進(jìn)程數(shù)變?yōu)?K。接著對(duì)2K個(gè)進(jìn)程號(hào)重排,前2*res個(gè)進(jìn)程號(hào)除以2,其余進(jìn)程依次減去res,得到新的2K個(gè)進(jìn)程的標(biāo)識(shí)號(hào),下一階段就是進(jìn)行二叉樹通信,算法1描述了具體的通信過程。為了方便描述,圖3展示了7個(gè)進(jìn)程的通信過程,括號(hào)里的數(shù)字表示重排后的進(jìn)程標(biāo)識(shí)號(hào)。改進(jìn)后的數(shù)據(jù)收集模式,通信復(fù)雜度由2K+res減少為log (2K+res),極大地減少了通信時(shí)間,也避免了大規(guī)模通信時(shí)從進(jìn)程同時(shí)向主進(jìn)程發(fā)送數(shù)據(jù)導(dǎo)致的程序阻塞。
【參考文獻(xiàn)】:
碩士論文
[1]非定常粒子輸運(yùn)蒙特卡羅模擬在MIC上的加速研究[D]. 崔顯濤.國(guó)防科學(xué)技術(shù)大學(xué) 2015
[2]深穿透粒子輸運(yùn)蒙特卡羅模擬的CPU/GPU協(xié)同算法研究[D]. 楊博.國(guó)防科學(xué)技術(shù)大學(xué) 2011
本文編號(hào):3441760
【文章來源】:計(jì)算機(jī)工程與科學(xué). 2020,42(11)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
模擬粒子輸運(yùn)過程
首先0號(hào)進(jìn)程初始化任務(wù),接著把數(shù)據(jù)發(fā)送給其他所有從進(jìn)程,從進(jìn)程接收到數(shù)據(jù)后開始計(jì)算,并在從進(jìn)程的計(jì)算結(jié)束后設(shè)置同步柵欄,直到所有從進(jìn)程的計(jì)算都結(jié)束后,0號(hào)進(jìn)程才開始收集從進(jìn)程發(fā)送過來的結(jié)果數(shù)據(jù)。數(shù)據(jù)的收集過程中所有從進(jìn)程都向主進(jìn)程阻塞發(fā)送數(shù)據(jù),主進(jìn)程進(jìn)行阻塞接收,先到的信息先被處理。對(duì)于主進(jìn)程來說這是一個(gè)串行處理過程,此通信方式會(huì)造成通信瓶頸,核數(shù)越多,對(duì)程序性能的影響越大。圖2展示了P個(gè)進(jìn)程的通信過程。3.2 優(yōu)化后的二叉樹通信模式
考慮到MC程序0號(hào)進(jìn)程對(duì)收集到的數(shù)據(jù)只進(jìn)行簡(jiǎn)單的統(tǒng)計(jì)處理,所以可以通過逐層進(jìn)行兩兩進(jìn)程通信,實(shí)現(xiàn)局部統(tǒng)計(jì)處理,最終把統(tǒng)計(jì)結(jié)果匯總到0號(hào)進(jìn)程。本文采用二叉樹通信模式來實(shí)現(xiàn)這種通信過程,假設(shè)總進(jìn)程數(shù)為2K+res,其中,K,res都是大于或等于0的整數(shù),且滿足條件0≤res<2K,為了滿足二叉樹的通信模式,排在前面的2*res個(gè)進(jìn)程先就近奇偶進(jìn)程號(hào)兩兩通信,并把通信過程中已發(fā)送過信息的進(jìn)程剔除,不參與下次通信,從而下一階段通信的進(jìn)程數(shù)變?yōu)?K。接著對(duì)2K個(gè)進(jìn)程號(hào)重排,前2*res個(gè)進(jìn)程號(hào)除以2,其余進(jìn)程依次減去res,得到新的2K個(gè)進(jìn)程的標(biāo)識(shí)號(hào),下一階段就是進(jìn)行二叉樹通信,算法1描述了具體的通信過程。為了方便描述,圖3展示了7個(gè)進(jìn)程的通信過程,括號(hào)里的數(shù)字表示重排后的進(jìn)程標(biāo)識(shí)號(hào)。改進(jìn)后的數(shù)據(jù)收集模式,通信復(fù)雜度由2K+res減少為log (2K+res),極大地減少了通信時(shí)間,也避免了大規(guī)模通信時(shí)從進(jìn)程同時(shí)向主進(jìn)程發(fā)送數(shù)據(jù)導(dǎo)致的程序阻塞。
【參考文獻(xiàn)】:
碩士論文
[1]非定常粒子輸運(yùn)蒙特卡羅模擬在MIC上的加速研究[D]. 崔顯濤.國(guó)防科學(xué)技術(shù)大學(xué) 2015
[2]深穿透粒子輸運(yùn)蒙特卡羅模擬的CPU/GPU協(xié)同算法研究[D]. 楊博.國(guó)防科學(xué)技術(shù)大學(xué) 2011
本文編號(hào):3441760
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3441760.html
最近更新
教材專著