專利名稱:Gpu加速劑量計算中微分卷積積分算法的實現的制作方法
技術領域:
本發明涉及腫瘤放射治療中的劑量計算,具體來說是針對放射治療中的規則野、 非規則野和調強野采用GPU加速的微分卷積積分算法進行劑量計算。
背景技術:
劑量計算是放療治療計劃系統的核心內容之一,快速準確地提供感興趣區內所受照射劑量的數據,對放療計劃的制定至關重要,如何在保證劑量計算精度的前提下減少劑量計算時間是制定放射治療計劃的主要瓶頸。提高劑量計算速度的方法主要有兩種,一是采用不同的劑量計算方法,二是借助于計算能力更強的硬件。目前放射治療中研究和使用的劑量計算算法基本分為三種,按照計算精度從高到低計算時間從多到少依次是蒙特卡洛算法,微分卷積積分算法和筆形束算法。蒙特卡洛算法通常作為劑量計算的標準,模擬了粒子與物質相互作用的全過程,能計算各種復雜條件下的劑量分布,但計算復雜,耗時長,臨床應用較少。筆形束算法只考慮了一維的非均勻修正,不能準確模擬次級射線在非均勻介質中的分布,所以在計算非均勻介質中劑量分布時具有很大的誤差。微分卷積積分算法考慮了三維非均勻修正,對不均勻組織及復雜結構的計算有較高的精度,但較長的計算時間影響了微分卷積積分算法在制定治療計劃過程中的應用。為了讓微分卷積積分算法能成為日常的劑量計算算法,本專利采用圖像處理器 (graphic processing unit,GPU)對其進行加速,GPU最初是用于計算機圖像顯示和渲染的元件。現在的GPU不僅是功能強大的圖像處理引擎,還是可用于科學計算的高度并行化的可編程處理器,GPU憑借多處理器及較高的存儲器讀寫帶寬,具備很高的運算性能。與傳統的并行運算方式(如集群計算)相比,基于GPU的并行運算能夠在個人電腦上實現,最重要的是在低成本情況下可以獲得很好的計算效率。近幾年,GPU在可編程和硬件架構等方面的快速發展在各領域引發了大量對GPU應用的研究,在科學計算方面扮演了越來越重要的角色。實現基于GPU的并行運算,首先了解支持GPU運算的編程工具。CUDA(Compute Unified Device Architecture)是NVIDIA公司為GPU編程提出的一個全新的軟硬件架構, 它以C語言為基礎,寫出在GPU上執行的程序。關于CUDA詳細的說明可以參看CUDA編程指南以及CUDA參考手冊。本發明正是利用GPU編程中的CUDA技術對微分卷積積分算法進行加速的。
發明內容
本發明針對采用微分卷積積分算法計算光子劑量過程中存在數據量大、數據相關性低、數據有相同的執行程序,并行度和算術計算密集性高等特點,運用GPU實現了微分卷積積分劑量計算。它與常規方法不同之處在于將善于處理復雜邏輯,串行計算的CPU,與適合大數據量,邏輯分支簡單,并行計算的GPU相結合,具體來說,創建虛擬體模過程中,一個GPU線程計算虛擬體模中一個體元的電子密度;計算光子線的初級能量沉積時,一個GPU 線程計算一條射線在所穿過的體元中的初級能量沉積;計算卷積時,一個GPU線程計算一個體元的劑量,其它部分仍在CPU上執行。通過CPU+GPU的處理模式,劑量計算時間大大減少。
附圖是本專利所用卷積積分算法原理圖。圖中虛線包圍的部分是一個錐形束,M 是假設的電子密度大于水的介質。
具體實施例方式采用微分卷積積分算法計算劑量可以分成兩部分,一是計算初級射線與物質相互作用在單位質量內沉積的能量TERMA (total energy released per unit mass)。二是將 TERMA和能量沉積核EDK (energy deposition kernel)進行卷積積分計算各體元吸收的能量。下面介紹這兩個過程的原理。計算TERMA在射束坐標系下進行,而由CT圖像得到的初始體模是在人體坐標系中,計算TERMA之前通過對初始體模旋轉插值,創建一個表面與射束方向垂直的虛擬體模有利于TERMA計算。已知虛擬體模體元坐標
巧,初始體模中與其對應的坐標巧可以表示為
fk = MipQ 為,Θ&、 (1)
其中峪為機頭的轉角,八為治療床的轉角Φ為準直器的轉角,M1^為, )為射束坐標系與人體坐標系間的轉換矩陣,通過對5周圍體元電子密度,線性插值可以得到虛擬體模芍處電子密度A。對于單能光子束,采用公式(2)計算TERMA,其中、是射線源到入射點的距離, r是射線源到計算點的距離,是質量衰減系數,P是體元電子密度,可由體元的CT值轉化得到,#是在入射點處射線的能量強度分布,r0和r的距離用射線追蹤的方式計算。 Ts(F) = (γ0 fr)2,um(B,r)p(rj^s(f0) e邵卜(&(5,(2)
多能光子束可看成是多束單能光子束的疊加。卷積計算有兩種方式,一種是以各TERMA不為零的體元為中心,計算對其對周圍體元的貢獻;另一種是以體元為中心,計算在積分核范圍內對其有影響的TERMA貢獻的劑
量和,本發明采用第二種方式。F·處的能量沉積由公式⑶求得,D(n = lrT(f)K(r-FtJdr
(3)
其中r(F)是產處的TERMA值是用Monte Carlo模擬的在水中的能量沉積核。當體元F和嚴之間有非均勻介質時,用等效長度的方法對EDK進行非均勻修正。體元F對產處劑量的貢獻等效于水中^處體元對—處的劑量貢獻,即^?-廣)=,尤是非均勻介質中的積分核,f是均勻介質中的積分核。球形積分等效長度的計算采用射線追蹤以嚴為起點,沿F-廣方向進行射線追蹤,射線穿過體元的等效長度是射線在F-F'方向穿過體元的幾何長度此體元的電子密度P的乘積,將這條射線穿過的每個體元的等效長度累加就得到產至F的等效長度,進而獲得沿F-廣方向與等效長度對應的積分核,采用公式C3)計算該體元沉積的劑量。本發明將創建虛擬體模,TERMA計算和卷積計算部分用GPU完成,下面依次介紹這三個步驟在GPU上的實施方法。創建虛擬體模過程中一個GPU線程計算虛擬體模中的一個體元,由虛擬體模體元坐標5得到對應初始體模中體元坐標& ,對初始體模體元^;周圍電子密度^線性插值獲得虛擬體模中巧處電子密度。計算TERMA時一個GPU線程計算一條射束的信息,射線從點源出發沿固定方向依次穿過多個體元,追蹤過程中將各射線看成連續的在入射表面等面積的錐形束,這樣保留了射束發散的物理性質,計算結果更精確。計算卷積時一個GPU線程計算一個體元的劑量,每個線程以要計算的體元-為起點,沿?-F'方向進行射線追蹤,得到對應等效長度的積分核,由公式(3)計算Z處的能量沉積。為了測試加速結果,本發明選取了一個30CmX30CmX30Cm的水模做實驗,體元的大小為0. 25cmX0. 25cmX0. 25cm,改變照射野(field size)和積分核半徑(radcut)大小, 計算6MeV單能光子在水模的能量沉積。測試平臺如下CPU為AMD Athlon四核630 (主頻 2. 8GHz,內存4G),顯卡是iTesla C1060C240個CUDA核處理器,核心頻率1296MHz,顯存4G, 顯存位寬512bit,顯存帶寬102 GB/S),操作系統Win7,編程環境為Visual Studio 2008, CUDA版本是2.3。為了便于描述加速結果,用Tmi表示程序在CPU上的執行時間,Tepu表示程序在GPU上的執行時間(核函數的執行時間與數據拷貝時間的和),用T。PU/TePU的值表示加速倍數。表1計算時間與加速倍數
權利要求
1.一種用于加快放射治療中光子劑量計算速度的方法,其特征在于將善于處理復雜邏輯串行計算的CPU,與適合大數據量、邏輯分支簡單、并行計算的GPU相結合進行劑量計笪弁。
2.根據權利要求1所述的加快放射治療中光子劑量計算速度的方法,其特征在于對放射治療中的規則野、非規則野和調強野模式下的劑量計算采用微分卷積積分算法,該計算在GPU上完成。
3.根據權利要求2所述的GPU加速的微分卷積積分算法,其特征在于對于一些具有并行條件的處理過程使用GPU并行加速處理,而復雜邏輯和事務處理等串行計算仍然采用 CPU。
4.根據權利要求2所述的劑量計算方法和權利要求3所述的GPU并行加速處理,其特征在于創建虛擬體模過程中,一個GPU線程計算虛擬體模中一個體元的電子密度,計算 TERMA時一個GPU線程計算一個射束的TERMA,計算卷積時一個GPU線程計算一個體元的劑量。
5.根據權利要求4所述的計算卷積時一個GPU線程計算一個體元的劑量,其特征在于 采用等效長度法對積分核進行非均勻修正,等效長度計算采用射線追蹤法。
全文摘要
GPU加速劑量計算中微分卷積積分算法的實現涉及腫瘤放射治療中的劑量計算。微分卷積積分算法是光子線劑量計算常用算法,考慮了三維非均勻修正,對不均勻組織及復雜結構的計算有較高的精度,但較長的計算時間影響了它在制定治療計劃過程中的應用。本發明運用GPU實現了微分卷積積分劑量計算,通過采用CPU+GPU的處理模式,縮短了運算時間,提高了計算效率,讓微分卷積積分算法成為日常的劑量計算算法。
文檔編號G06F19/00GK102201036SQ20111012444
公開日2011年9月28日 申請日期2011年5月16日 優先權日2011年5月16日
發明者侯氫, 勾成俊, 吳章文, 王先良 申請人:四川大學