[發(fā)明專利]基于GPU的多粒子輸運仿真方法有效
| 申請?zhí)枺?/td> | 201410146948.8 | 申請日: | 2014-04-10 |
| 公開(公告)號: | CN103955567B | 公開(公告)日: | 2017-02-08 |
| 發(fā)明(設(shè)計)人: | 楊磊;張勛超;高笑菲;齊記;付芬;張雅玲;張智磊 | 申請(專利權(quán))人: | 中國科學(xué)院近代物理研究所 |
| 主分類號: | G06F17/50 | 分類號: | G06F17/50 |
| 代理公司: | 中科專利商標(biāo)代理有限責(zé)任公司11021 | 代理人: | 李敬文 |
| 地址: | 730000 甘*** | 國省代碼: | 甘肅;62 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 gpu 粒子 輸運 仿真 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明示例性實施例總體上涉及多粒子輸運仿真技術(shù)領(lǐng)域,具體地,涉及一種可應(yīng)用于中子、光子和電子混合輸運研究的基于GPU的蒙特卡羅輸運方法。
背景技術(shù)
粒子輸運模擬在科學(xué)與工程計算中具有重要意義,其求解算法發(fā)展至今,可以分為:確定論方法和蒙特卡洛(Monte?Carlo)方法。由于蒙特卡洛方法具有收斂速度與問題的維數(shù)無關(guān)、受問題的條件限制影響小且程序結(jié)構(gòu)簡單等特點,在處理粒子輸運相關(guān)時,蒙特卡洛方法對于處理截面與能量、散射各向異性、介質(zhì)非均勻、復(fù)雜幾何、事件相關(guān)等問題時具有得天獨厚的優(yōu)勢。但其最大的缺點在于收斂速度慢,誤差的概率性質(zhì)使得需要大量的抽樣才能保證準(zhǔn)確度。目前粒子輸運模擬計算的實現(xiàn)以CPU為主,由于CPU計算能力不足直接影響到其計算效率,因此在可以接受的機時內(nèi)只能計算很小的空間尺寸和時間尺寸;或者為了提高計算量可以建設(shè)大規(guī)模甚至超大規(guī)模的CPU計算機集群,但這樣又會出現(xiàn)耗電量過大、使用和維護成本極高等問題。
發(fā)明內(nèi)容
本發(fā)明示例性實施例提出了一種基于GPU的多粒子輸運仿真方法,通過在GPU上并行執(zhí)行蒙特卡洛(MC)算法來進(jìn)行多粒子輸運仿真,在降低能耗的同時提高運算效率,該方法包括以下步驟:
a、使用蒙特卡洛算法對粒子輸運建模,建立包括多種幾何體的空間,向CPU和GPU分別分配內(nèi)存空間,在CPU中進(jìn)行數(shù)據(jù)初始化,將初始化后的數(shù)據(jù)從CPU的內(nèi)存空間拷貝到GPU的內(nèi)存空間中;
b、在CPU中從源產(chǎn)生多個粒子,所述多個粒子包括光子、中子和電子,每個粒子具有粒子信息,包括粒子的種類、位置、速度、權(quán)重及所在幾何體的編號,將粒子信息連同粒子數(shù)目儲存在相應(yīng)數(shù)組中;
c、判斷光子和中子數(shù)目之和是否大于設(shè)定值,如果數(shù)目之和大于設(shè)定值,則根據(jù)該數(shù)目之和確定要使用的線程數(shù)目,并將每個中子或光子分配給GPU中的一個線程進(jìn)行處理,計算前進(jìn)距離以及判斷中子或光子是否死亡;如果數(shù)目之和不大于設(shè)定值,則由CPU處理每個中子或光子,計算前進(jìn)距離以及判斷中子或光子是否死亡;
d、由CPU依據(jù)中子、光子和電子的碰撞事件數(shù)目重新劃分線程數(shù)目,并且GPU中每個線程處理一個碰撞事件;
e、判斷粒子是否死亡,如果繼續(xù)存活,將粒子的信息更新;
f、判斷是否產(chǎn)生二次粒子,如果產(chǎn)生,將二次粒子的信息存儲;
g、由CPU重新統(tǒng)計所有存活的粒子信息,統(tǒng)計需要處理的粒子的數(shù)目;
h、判斷運行時間是否大于設(shè)定值,如果大于設(shè)定值,則輸出統(tǒng)計量并釋放CPU和GPU的內(nèi)存空間,所述方法結(jié)束;
i、如果運行時間不大于設(shè)定值,則判斷要處理的粒子的數(shù)目是否小于設(shè)定的最小值;如果小于最小值,則返回步驟b,否則返回步驟c;
其中GPU包括多個流處理器,所述多個流處理器通過多個線程對粒子輸運仿真進(jìn)行并行處理,并且所述多個流處理器對粒子的輸運仿真和碰撞事件的處理是同步進(jìn)行的。
根據(jù)示例實施例,在步驟c還包括:
對于處理的中子或光子,獲得時間截斷距離、到達(dá)邊界距離、平均自由程和碰撞距離;
計算以上距離之中的最小距離;
如果最小距離是時間截斷距離,則確定該中子或光子死亡;
如果最小距離是達(dá)到邊界距離,則更新該中子或光子的所在幾何體的編號;
如果最小距離是平均自由程,則用其余三個距離減掉平均自由程,并返回到步驟c的開始;
如果最小距離是碰撞距離,則判斷碰撞是中子碰撞還是光子碰撞。
根據(jù)示例實施例,在步驟e中如下處理碰撞事件:
如果碰撞事件為電子碰撞事件,則計算電子在上一個最小距離中的能量損失,將產(chǎn)生的二次粒子的數(shù)目和狀態(tài)進(jìn)行記錄,并返回給CPU;
如果碰撞事件為光子碰撞事件,則抽樣碰撞核素,處理光子反應(yīng),將產(chǎn)生的二次粒子的數(shù)目和狀態(tài)進(jìn)行記錄,并返回給CPU;
如果碰撞事件為中子碰撞事件,則抽樣碰撞核素,處理中子反應(yīng),將產(chǎn)生的二次粒子的數(shù)目和狀態(tài)進(jìn)行記錄,并返回給CPU。
本發(fā)明實現(xiàn)了基于GPU的多粒子輸運蒙特卡洛仿真系統(tǒng),充分利用GPU的超強浮點運算能力、高帶寬及多輕量計算核心的特點,及GPU內(nèi)眾多流處理器,將蒙特卡洛算法合理引入粒子輸運仿真中,使得蒙特卡洛粒子輸運仿真適合于GPU硬件架構(gòu)。在本發(fā)明中,GPU和CPU充分結(jié)合,發(fā)揮各自優(yōu)勢,極大地提高了運算效率。在可以接受的能耗和時間條件下,取得了非常好的計算效果,達(dá)到了提高運算效率的效果。
附圖說明
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國科學(xué)院近代物理研究所,未經(jīng)中國科學(xué)院近代物理研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410146948.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 圖形處理器任務(wù)的分配方法和裝置
- 一種資源調(diào)度裝置、資源調(diào)度系統(tǒng)和資源調(diào)度方法
- 一種免工具GPU支架固定裝置
- 一種YARN集群GPU資源調(diào)度方法、裝置和介質(zhì)
- 一種服務(wù)器內(nèi)4GPU布局結(jié)構(gòu)及其安裝方法
- 一種GPU資源調(diào)度系統(tǒng)及其調(diào)度方法
- 一種GPU拓?fù)浞謪^(qū)方法與裝置
- 一種基于Kubernetes的共享GPU調(diào)度方法
- 一種數(shù)據(jù)處理的方法和裝置
- 一種GPU分配方法、系統(tǒng)、存儲介質(zhì)及設(shè)備





