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