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