本發(fā)明涉及放射治療劑量計(jì)算領(lǐng)域,具體為一種蒙特卡洛快速劑量計(jì)算方法。
背景技術(shù):
1、蒙特卡洛劑量計(jì)算技術(shù)是一種依賴于隨機(jī)采樣的數(shù)值模擬手段。在處理粒子傳輸問題時(shí),該技術(shù)利用計(jì)算機(jī)生成的偽隨機(jī)數(shù),依據(jù)特定概率分布對(duì)粒子物理傳輸過程中的相關(guān)參數(shù)進(jìn)行隨機(jī)采樣,從而模擬單個(gè)粒子在介質(zhì)中的運(yùn)動(dòng)軌跡。作為放射治療劑量計(jì)算領(lǐng)域公認(rèn)的高精度計(jì)算方法,蒙特卡洛技術(shù)憑借其在粒子傳輸模擬和幾何建模方面的精確性,在醫(yī)學(xué)物理學(xué)和輻射劑量學(xué)中占據(jù)重要地位。
2、盡管如此,通用型的蒙特卡洛模擬軟件,例如egs4、egsnrc、geant、mcnp等,雖然采用了高精度的傳輸算法和反應(yīng)截面數(shù)據(jù)來模擬不同能量粒子在各種介質(zhì)中的傳輸過程,但其計(jì)算耗時(shí)過長(zhǎng)的問題仍然是臨床應(yīng)用中的主要瓶頸。多年來,為了提高計(jì)算效率、縮短計(jì)算時(shí)間,研究者們提出了多種基于不同原理的快速蒙特卡洛計(jì)算模型,使得蒙特卡洛方法的計(jì)算速度得到了顯著提升。然而,要達(dá)到臨床應(yīng)用中近乎實(shí)時(shí)計(jì)算的要求,仍需進(jìn)一步的技術(shù)突破。
3、自2006年nvidia公司推出基于gpu的并行計(jì)算架構(gòu)cuda以來,利用gpu進(jìn)行蒙特卡洛模擬逐漸成為劑量計(jì)算研究中的一個(gè)重要方向。與傳統(tǒng)的cpu計(jì)算相比,gpu在單位計(jì)算能力的成本和能耗方面具有顯著優(yōu)勢(shì),這些特點(diǎn)使其在醫(yī)學(xué)物理學(xué)領(lǐng)域展現(xiàn)出巨大的應(yīng)用潛力。在此期間,全球多個(gè)研究團(tuán)隊(duì)相繼開發(fā)了基于gpu的蒙特卡洛模擬工具,如gdpm[2]、gpumcd、gmc、smc等[3-5]。這些工具在保持蒙特卡洛模擬高精度的同時(shí),大幅提升了計(jì)算速度。
4、nvidia的ampere架構(gòu)是2020年推出的一款革命性gpu架構(gòu)[6],代表了gpu技術(shù)在性能、能效和功能上的重大突破。該架構(gòu)基于臺(tái)積電7納米或三星8納米制程工藝,顯著提升了晶體管密度和能效比,為高性能計(jì)算、人工智能和圖形渲染等領(lǐng)域提供了強(qiáng)大的硬件支持。ampere架構(gòu)的核心創(chuàng)新包括第三代tensor?core和第二代rt?core。第三代tensor?core支持多種數(shù)據(jù)類型(如fp64、tf32、fp16等),大幅加速了深度學(xué)習(xí)訓(xùn)練和推理任務(wù),同時(shí)引入了稀疏計(jì)算技術(shù),通過利用神經(jīng)網(wǎng)絡(luò)中的稀疏性,進(jìn)一步提升了ai計(jì)算效率。第二代rtcore則通過改進(jìn)的光線追蹤算法和硬件加速,顯著提升了實(shí)時(shí)光線追蹤性能,為游戲開發(fā)、影視渲染和工業(yè)設(shè)計(jì)帶來了更逼真的視覺效果。
5、nvidia?ampere架構(gòu)的結(jié)構(gòu)稀疏化特性和mig特性是提升gpu性能和利用率的重要?jiǎng)?chuàng)新。結(jié)構(gòu)稀疏化特性主要通過剪枝技術(shù),將神經(jīng)網(wǎng)絡(luò)中的非重要參數(shù)置零,從而生成稀疏網(wǎng)絡(luò)。在nvidia?ampere架構(gòu)中,這種稀疏性以2:4的模式呈現(xiàn),即每四個(gè)元素中至少有兩個(gè)必須為零。這種模式使得矩陣乘法操作的數(shù)據(jù)占用空間和帶寬減少了一半,同時(shí)通過稀疏tensor?core跳過零值的計(jì)算,理論上將計(jì)算吞吐量翻倍。這種特性在深度學(xué)習(xí)推理中尤其有用,因?yàn)樗梢燥@著加速矩陣乘法操作,提高模型的推理速度,同時(shí)保持模型的精度。mig(multi-instance?gpu)特性允許將一個(gè)物理gpu安全地劃分為多達(dá)7個(gè)獨(dú)立的gpu實(shí)例,每個(gè)實(shí)例都具有獨(dú)立的內(nèi)存路徑、緩存和計(jì)算核心。這種劃分方式確保了每個(gè)實(shí)例的資源隔離,使得多個(gè)用戶或應(yīng)用程序可以同時(shí)使用gpu資源,而不會(huì)互相干擾。mig特性特別適用于未完全飽和的工作負(fù)載,通過并行運(yùn)行不同的工作負(fù)載來最大化gpu的利用率。此外,mig支持多種部署配置,包括裸機(jī)、虛擬機(jī)透?jìng)骱突趍ig的vgpu,為不同的應(yīng)用場(chǎng)景提供了靈活性。
6、gdpm、gpumcd、gmc等基于gpu顯存的蒙特卡洛程序均未充分利用nvidia新一代的ampere架構(gòu)的優(yōu)點(diǎn),蒙特卡洛的并行化模擬在計(jì)算速度上還有進(jìn)一步挖掘的空間,本方法在原有蒙特卡洛模擬的基礎(chǔ)上,設(shè)計(jì)了一套適配ampere及更新一代架構(gòu)的計(jì)算方法,從而進(jìn)一步的提高gpu蒙特卡洛模擬的計(jì)算速度。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供在原有蒙特卡洛模擬的基礎(chǔ)上,設(shè)計(jì)了一套適配nvidiaampere及更新一代架構(gòu)顯卡的計(jì)算方法,從而進(jìn)一步的提高gpu蒙特卡洛模擬計(jì)算速度的一種蒙特卡洛快速劑量計(jì)算方法。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:包括以下步驟:
3、s1:?加載模擬參數(shù);
4、s2:?獲取放射治療加速器的粒子源相空間數(shù)據(jù);
5、s3:?獲取人體解剖結(jié)構(gòu)圖像數(shù)據(jù),并重建成人體三維矩陣;
6、s4:將三維人體矩陣網(wǎng)格化;
7、s5:輸入蒙特卡洛劑量計(jì)算參數(shù),構(gòu)建精細(xì)化蒙特卡洛劑量計(jì)算物理模型;
8、s6:利用ampere架構(gòu)的結(jié)構(gòu)化稀疏性,將對(duì)輸入矩陣中低貢獻(xiàn)體素進(jìn)行動(dòng)態(tài)壓縮,減少顯存占用、數(shù)據(jù)傳輸開銷以及計(jì)算,對(duì)體素采用“索引-值”?稀疏存儲(chǔ)模式,假定m是矩陣的長(zhǎng),n是矩陣的寬,l是矩陣的高,建立索引數(shù)組記錄其空間坐標(biāo)(i,j,k),將原始體素矩陣v∈r(m×n×l)轉(zhuǎn)換為稀疏矩陣,對(duì)輸入矩陣中的低貢獻(xiàn)體素實(shí)施動(dòng)態(tài)壓縮,降低顯存占用、數(shù)據(jù)傳輸開銷及計(jì)算量;
9、s7:利用ampere架構(gòu)的mig特性,將每個(gè)劑量計(jì)算單位的數(shù)據(jù)輸入采用多實(shí)例mig的計(jì)算,并分配至不同的顯存中,并將對(duì)應(yīng)的粒子模擬數(shù)據(jù)按照同樣的方式存放在不同的mig實(shí)例顯存中;
10、s8:在不同的mig實(shí)例中,啟動(dòng)粒子的輸運(yùn)計(jì)算,通過采樣的方式獲得粒子的初始能量e和方向v;
11、s9:確定好粒子的能量e和方向v后,采用抽樣的方式,結(jié)合不同材料的粒子截面數(shù)據(jù),判斷粒子在不同截面中的碰撞反應(yīng)和粒子行進(jìn)的平均自由程,計(jì)算行進(jìn)路線上的劑量沉積,并將結(jié)果保存至對(duì)應(yīng)的mig實(shí)例內(nèi)存中;
12、s10:將每個(gè)mig實(shí)例中的歸一化的網(wǎng)格劑量計(jì)算結(jié)果疊加,得到總的輻射劑量;
13、s11:將結(jié)果拷貝至cpu緩沖中,將緩沖中的數(shù)據(jù)保存至磁盤上。
14、優(yōu)選的,所述s5中針對(duì)粒子運(yùn)動(dòng)步長(zhǎng)抽樣,依據(jù)介質(zhì)的線性衰減系數(shù),通過概率密度函數(shù)進(jìn)行步長(zhǎng)的隨機(jī)抽樣,其中與介質(zhì)材料、粒子類型及能量密切相關(guān),通過查表法實(shí)時(shí)獲取對(duì)應(yīng)介質(zhì)的值。
15、優(yōu)選的,所述s5中在相互作用類型判定環(huán)節(jié),基于粒子當(dāng)前能量e,結(jié)合介質(zhì)材料的原子序數(shù)、密度等特性,調(diào)用預(yù)先建立的截面數(shù)據(jù)庫(kù),通過概率計(jì)算確定碰撞、康普頓散射、光電效應(yīng)、電子對(duì)產(chǎn)生等相互作用的發(fā)生概率??。
16、優(yōu)選的,所述s5中能量沉積計(jì)算時(shí),依據(jù)具體相互作用類型,采用對(duì)應(yīng)物理公式計(jì)算能量沉積量δe,光電效應(yīng)中,能量沉積與原子的電子結(jié)合能、光子能量相關(guān),通過公式(bi為電子結(jié)合能)計(jì)算,更新粒子剩余能量為。
17、優(yōu)選的,所述s6中構(gòu)建體素貢獻(xiàn)度計(jì)算模型,對(duì)于三維劑量計(jì)算空間中的體素,其劑量貢獻(xiàn)度c通過粒子輸運(yùn)的能量沉積累積確定,其中,n為經(jīng)過該體素的粒子數(shù),δen為粒子n的能量沉積,δ為位置判定函數(shù),設(shè)定貢獻(xiàn)度閾值dth,低于該閾值的體素判定為低貢獻(xiàn)體素,其中為0-1之間的系數(shù),設(shè)定低于貢獻(xiàn)度閾值的去掉,使用高于貢獻(xiàn)度閾值的體素,考慮粒子碰撞過程中對(duì)其影響較小的體素,減少顯存占用和計(jì)算量???。
18、優(yōu)選的,所述s7中檢測(cè)顯卡硬件資源,包括sm單元數(shù)量、顯存容量、顯存帶寬、寄存器文件大小,檢查顯卡是否支持mig特性在實(shí)例初始化階段,加載定制化的計(jì)算內(nèi)核程序,初始化顯存空間,建立實(shí)例內(nèi)部的線程調(diào)度隊(duì)列,確保計(jì)算任務(wù)高效執(zhí)行,根據(jù)輸入數(shù)據(jù)顯存占用的大小,配置不同顯存占用單元,并預(yù)留部分共享資源用于數(shù)據(jù)交互,mig?實(shí)例劃分需滿足顯存容量約束條件,同時(shí)預(yù)留動(dòng)態(tài)調(diào)整空間。
19、優(yōu)選的,所述s10中粒子模擬完成后,每個(gè)mig實(shí)例中會(huì)得到一個(gè)計(jì)算的結(jié)果,將計(jì)算區(qū)域內(nèi)多個(gè)劑量計(jì)算的結(jié)果疊加,得到總的輻射劑量分布。
20、綜上所述,由于采用了上述技術(shù),本發(fā)明的有益效果是:
21、與現(xiàn)有技術(shù)相比,本技術(shù)實(shí)施例提供一種基于nvidia架構(gòu)的gpu并行蒙特卡洛快速劑量計(jì)算方法,通過兩種主體方法優(yōu)化蒙特卡洛模擬粒子的輸運(yùn)過程,本發(fā)明具有顯著優(yōu)勢(shì):利用nvidia顯卡的結(jié)構(gòu)化稀疏特性,動(dòng)態(tài)壓縮輸入數(shù)據(jù),使顯存有效利用率提升,保障計(jì)算任務(wù)連續(xù)運(yùn)行;mig?實(shí)例管理技術(shù)結(jié)合多維度調(diào)度與跨實(shí)例協(xié)同,使?gpu?資源利用率提升,尤其在多任務(wù)并行場(chǎng)景下優(yōu)勢(shì)明顯。兩者協(xié)同工作,充分發(fā)揮?nvidia?ampere及更新一代架構(gòu)顯卡的硬件性能,將蒙特卡洛劑量計(jì)算效率提升至新水平,減少計(jì)算時(shí)間,有力支撐粒子輸運(yùn)的gpu蒙特卡洛計(jì)算需求??。