当前位置: 首页 > 专利查询>四川大学专利>正文

GPU加速剂量计算中微分卷积积分算法的实现制造技术

技术编号:6610193 阅读:323 留言:0更新日期:2012-04-11 18:40
GPU加速剂量计算中微分卷积积分算法的实现涉及肿瘤放射治疗中的剂量计算。微分卷积积分算法是光子线剂量计算常用算法,考虑了三维非均匀修正,对不均匀组织及复杂结构的计算有较高的精度,但较长的计算时间影响了它在制定治疗计划过程中的应用。本发明专利技术运用GPU实现了微分卷积积分剂量计算,通过采用CPU+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上的执行时间(核函数的执行时间与数据本文档来自技高网
...

【技术保护点】
1.一种用于加快放射治疗中光子剂量计算速度的方法,其特征在于:将善于处理复杂逻辑串行计算的CPU,与适合大数据量、逻辑分支简单、并行计算的GPU相结合进行剂量计算。

【技术特征摘要】

【专利技术属性】
技术研发人员:王先良侯氢吴章文勾成俊
申请(专利权)人:四川大学
类型:发明
国别省市:90

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1