中国辐射卫生  2015, Vol. 24 Issue (3): 314-316  DOI: 10.13491/j.cnki.issn.1004-714x.2015.03.053

引用本文 

何方方, 刘主龙. 蒙特卡罗技术在光子和电子放射治疗中提高速度的进展[J]. 中国辐射卫生, 2015, 24(3): 314-316. DOI: 10.13491/j.cnki.issn.1004-714x.2015.03.053.

文章历史

收稿日期:2015-01-25
修回日期:2015-03-17
蒙特卡罗技术在光子和电子放射治疗中提高速度的进展
何方方 , 刘主龙     
山东大学齐鲁医院放疗科, 山东 济南 250012

蒙特卡罗(Monte Carlo, MC)技术是放射治疗中最精确可靠的剂量计算和优化方法, 也是治疗计划精确性比较和验证的重要工具[1-2]。它可以精确计算不均匀介质交接处和建成区的剂量, 因此越来越受到专业人士的关注。MC技术以往的主要缺点是计算时间过长, 限制了其临床应用。为了解决这个问题, 近年来涌现了很多方法, 时间问题在不同程度上得到了解决。这些方法主要分为两大类:计算方法本身和计算机技术的发展。尤其是近年来计算机的发展大大提高了运算速度, 并开拓出新的计算方式。本文回顾了提高MC速度的方法并介绍了计算机发展和并行计算方式对MC速度的提高。

1 计算方法

常规MC代码采用全相空间数据模拟方法, 缺点是计算时间过长, 往往需要数小时至几天, 即使应用新型的计算机也无法满足临床需要。在过去的几十年里, 使用多源射束模型和效率提高技术, 越来越多的快速MC代码被开发出来, 如MMC (Macro Monte Carlo)[3]、VMC[4](Voxel Monte Carlo)、DPM (dose planning method)[5]、PEREGRINE[6]等。

1.1 近似值法效率提高技术(Approximate efficiency improving techniques, AEITs)

带电粒子射程终止(range rejection, RR)、电子和光子传输阈值和压缩历程技术, 其中压缩历程技术由边界穿越算法(Boundary crossing algorithm, BCA)和电子传输算法组成。

1.2 方差减少技术(variance reduction technique, VRT)

轫致光子分裂、权重窗口、Russian Roulette、光子反应强迫。轫致光子分裂常与Russian Roulette一起用。

这些方法大大提高了计算速度, 显著提高了运算效率。其中, 改变传输阈值和电子射程终止技术可能引入系统误差, 应当注意使用。另外降噪方法可以减少模拟所需的粒子数目, 因而减少3~10倍时间[7]。通过优化传输参数, 如电子能量阈值、最大化电子能量步长、光子能量阈值和kerma近似值的阈值, 在不损失精度的前提下, 可能进一步提高效率。

已经有一些基于MC的商用治疗计划系统, 如VMC被引入Nucletron的Masterplan治疗计划系统, MMC用于Eclipse (Varian Medical Systems, Palo Alto, CA)治疗计划系统, 用于电子剂量计算。PEREGRINE是第一个商用光子MC治疗计划系统, 应用于Corvus (Best nomos, Pittsburgh, USA), 其它的商用系统有Monaco (Elekta AB, Stockholm, Sweden), i-Plan (BrainLAB AG, Feldkirchen, Germany)等。

2 CPU (central processing unit)集群并行计算方法

并行化是将工作分配给互相独立的多个处理器, 并行处理粒子, 加快运算速度, 显著提高了运算速度[8-9]。常用MPI (Message Passing Interface)将MC代码并行化处理, 用于处理器间信息交流, 运行速度与处理器数目成近似线性关系。Tyagi等[8]的研究显示, 在模拟同样的电子射野情况下, 串行DPM代码需要438 min, 而在8个处理器上并行运算则只需8min, 大大提高了效率。Boudreau等[10]报道了对于头颈的光子调强放射治疗计划, 用16个CPU集群的情况下, 可以将时间控制在1 ~2 h。并行化运算对电子射野的计算则要快得更多, 有报道用30个CPU计算电子剂量只需3 min[11]。这种多个处理器并行运算的方式得到了广泛应用[12-13]

另一种并行化处理在不增加硬件投资的情况下, 用单指令多数据(single-instruction-multiple-data, SIMD)平行计算模型加速浮点运算以提高效率, 同时运行多个粒子。Weng等[14]将DPM代码向量化为V-DPM代码, 用SIMD流扩展指令进行快速浮点运算。在不使用VRT的情况下, 能将速度提高1.5倍。

目前, 基于CPU集群的MC治疗计划系统有:①MCRTV (MC routine radiotherapy plan verification)[9], 与Eclipse计划系统结合, 基于EGS4 MC代码, 用MPI做并行化处理用于处理器间交流, 这种系统主要用于计划验证, 尤其是调强放射治疗的验证; ②MGMCTP[15](McGill Monte Carlo Treatment Planning), 支持多种平台(Windows, Linux, Macintosh), 使用了BEAMnrc和XVMC; ③SMCP (Swiss Monte Carlo Plan)[16], 与Eclipse计划系统相结合, 是一个光子MC治疗计划。④RTGrid[17]分布式模拟, 用于适形放射治疗。这些计划系统仅在有限的单位用于临床研究, 没有普及推广。

实际上管理计算机集群和数据分流很复杂, 而且费用高、维护耗力。对计算机资源利用也不能够充分利用或者是过于消耗。在临床上的应用受到一定限制。

3 图像处理器(graphics processing unit, GPU)

近年来, GPU以其强大的并行计算能力、相对低廉的价格, 受到很多领域的重视, 比CPU要快很多[18-19]。GPU的快速运算功能可归因于其构造本身, 其运算功能科相当于一个小的计算机集群。更多的晶体管用于数据处理而不是像CPU那样, 用于数据缓冲和流向控制。一个GPU由几个流多处理器组成, 流多处理器又由数个流处理器组成。现在的GPU的流处理器有数千个之多, 可同时运行多个线程, 这种构造使得GPU成为高性能的并行运算装置。

由于维护和操作容易, 性价比高, 近年来, 越来越多地用于剂量计算和优化[20-21]。Hissoiny等[22]的研究中介绍了GPU执行MC的剂量计算平台——GPUMCD。使用新的GPU随机数产生器和歧离减少技术及优化方法, 计算了0.01~20 MeV能量范围内的成对光子-电子。结果显示GPUMCD比EGSnrc要快900多倍, 比DPM要快200多倍。在GPU上运算PENELOPE中的算法可以将速度提高27倍[23], 对简单的均匀构造的MC模拟, GPU甚至可以将速度提高1000倍[24]。Bert等[25]研究表明GPU上运算Geant4代码可以将速度提高80倍。Jia等[26]介绍了一个基于DPM的GPU的MC代码——gDPM v 1.0, 与CPU相比, 表现出良好的剂量结果, 只是提高的速度只有5~6.6倍。在v2.0版本中, 效率提高到69.1~87.2倍。同时, gDPM是第一个基于GPU的用于患者治疗计划的MC代码, 可将IMRT或VMAT的时间控制在数秒内, 多个GPU的效率比单个GPU的高。此代码没有采用方差减少技术, 可以采用粒子分裂或射程重复可以进一步提高计算效率[27]。在gDPM v3.0.中使用了分类处理好的相空间数据, 忽略了照射野以外的数据, 大大减少了计算时间。比如, 对一个IMRT计划, 每个GPU需要50s, 而每个CPU则需要8.4h[28]。Jahnke等[29]介绍了在NVIDIA CUDA项目中运行Geant4 MC代码, 对电子和光子反应等级分类并使用了新的平行粒子传输引擎, 改变了处理粒子的方式, 每次历程被分解为各个步骤并被并行地运算, 结果显示一个GTX 580的速度是一个CPU核的4860倍。

图像硬件表现出优越性:高容量带宽, 高性能的计算能力, 支持浮点运算, 非专业人士亦可使用, 可以替代计算机集群。与CPU集群相比, GPU运算可以减少集群中计算机的数量, 因此降低价格, 易于维护和管理。不过在GPU平台上应用MC时也有局限性[30]。比如, 第一, 为了高效并行处理数据, 需要深入了解多个处理器的单指令多线程构造, 如果线程的路径歧离, 就会降低运算效率; 第二, GPU不能运行通常CPU运行的MC任务; 第三, GPU代码的延展耗时, 与CPU相比, GPU存储器速度很慢。所有的线程都要共享全局存储器, 并且每个线程访问不同存储器地址的途径不能预测[27]。解决方法有几种, 比如创建一个通用的粒子队列, 按先后顺序处理电子和光子。这需要重写MC代码以适应GPU构造, 增加了困难性。

4 云计算

云计算是除GPU以外的另一种并行计算方法, 可以根据需要灵活地调节计算资源[31-33]。云计算利用虚拟和远端的计算机提供服务, 例如高需求的网络信息、强大的计算能力和存储空间[34]。与计算机集群工作方式相同的是一定数量的节点参与工作, 根据工作的优先级别分配资源。不同的是云计算可通过调节集群中的节点按需动态地分配资源, 相似的节点可以同时并行工作。云技术的应用得益于虚拟技术的发展, 虚拟软件将硬件设备抽象化, 比如服务器、容量和网络, 使系统表现得像一个计算机, 灵活调节处理器的数量、容量、硬盘大小和操作系统。

已经有研究证实了云计算用于快速放疗计划剂量计算的潜能。Wang等[32]的结果表明在一百个Amazon EC2工作节的云环境中模拟一百万个电子需要3.3 min, 而在一个本地计算机上则需要2.58 h, 速度是其47倍。Nal等[35]描述了云计算环境(cloud computing environment, CCE)中一个基于网络的实时计划治疗系统。以Amazon EC2作为云计算的主要结构, 用MC产生子野剂量卷积核, 强度的优化和强度图的产生以分布式方式在CCE中产生。结果显示CCE在剂量卷积核和优化方面都可以将速度提高14倍。这种云计算基本设施已经用放射治疗计划, 大大改善了计划的速度, 使得未来的自适应性的重新计划成为可能。

对于云计算, 除了上述这些优点, 还应考虑其它因素。比如需要根据情况付费, 需要维护和管理网络。需要注意传输大量数据时会引起网络堵塞的情况。还应注意保护患者隐私。

5 结论

综上所述, 由于这些技术的发展, MC的计算速度大大提高, 使得MC应用更广泛。尤其是近年来GPU和云计算更是将MC应用推至一个新高度, 并行处理数据的能力成为衡量计算机性能的标准。使用云计算会比GPU容易些, 因为在GPU平台上运行MC代码时需对其进行重新处理, 而且云计算可用的MC代码也更广泛。在实际应用中, 可以根据实际情况将几种方法混合使用, 在保证计算精度的前提下最大限度地提高效率。实际上, MC模拟计算是一个复杂的过程, 在使用中, 除了依靠先进的技术和设备, 操作使用者也需具备相当的专业知识和经验, 投入大量的时间和精力。相信在不久的将来, MC在临床会到更广泛、普遍的使用。

参考文献
[1]
Bush K, Gagne IM, Zavgorodni S, et al. Dosimetric validation of Acuros XB with Monte Carlo methods for photon dose calculations[J]. Med Phys, 2011, 38: 2208-2221. DOI:10.1118/1.3567146
[2]
Bush K, Zavgorodni S, Gagne I, et al. Monte Carlo evaluation of RapidArc oropharynx treatment planning strategies for sparing ofmidline structures[J]. Phys Med Biol, 2010, 55: 4465-79. DOI:10.1088/0031-9155/55/16/S03
[3]
Neuenschwander H, Born E. A macro Monte Carlo method for electron beam dose calculations[J]. Phys Med Biol, 1992, 37: 107-125. DOI:10.1088/0031-9155/37/1/007
[4]
Kawrakow I, Fippel M, Friedrich K. 3D electron dose calculation using a Voxel based Monte Carlo algorithm (VMC)[J]. Med Phys, 1996, 23: 445-457. DOI:10.1118/1.597673
[5]
Sempau J, Wilderman SJ, Bielajew AF. DPM, a fast, accurate Monte Carlo code optimized for photon and electron radiotherapy treatment planning dose calculations[J]. Phys Med Biol, 2000, 45: 2263-2291. DOI:10.1088/0031-9155/45/8/315
[6]
Hartmann Siantar CL, Walling RS, Daly TP. Description and dosimetric verification of the PEREGRINE Monte Carlo dose calculation system for photon beams incident on a water phantom[J]. Med Phys, 2001, 28: 1322-1337. DOI:10.1118/1.1381551
[7]
Chetty IJ, Curran B, Cygler JE, et al. The AAPM Task Group Report No.105:Issues associated with clinical implementation of Monte Carlo-based external beam treatment planning[J]. Med Phys, 2007, 34: 4818-4853. DOI:10.1118/1.2795842
[8]
Tyagi N, Bose A, Chetty IJ. Implementation of the DPM Monte Carlo code on a parallel architecture for treatment planning applications[J]. Med Phys, 2004, 31: 2721-2725. DOI:10.1118/1.1786691
[9]
Yamamoto T, Mizowaki T, Miyabe Y, et al. An integrated Monte Carlo dosimetric verification system for radiotherapy treatment planning[J]. Phys Med Biol, 2007, 52: 1991-2008. DOI:10.1088/0031-9155/52/7/014
[10]
Boudreau C, Heath E, Seuntjens J, et al. IMRT head and neck treatment planning with a commercially available Monte Carlo based planning system[J]. Phys Med Biol, 2005, 50: 879-890. DOI:10.1088/0031-9155/50/5/012
[11]
Brualla L, Zaragoza FJ, Sempau J, et al. Electron Irradiation of Conjunctival Lymphomad Monte Carlo Simulation of the Minute Dose Distribution and Technique Optimization[J]. Radiation Oncology, 2012, 83: 1300-1337.
[12]
Disher B, Hajdok G, Gaede S, et al. Forcing lateral electron disequilibrium to spare lung tissue:a novel technique for stereotactic body radiation therapy of lung cancer[J]. Phys Med Biol, 2013, 58: 6641-6662. DOI:10.1088/0031-9155/58/19/6641
[13]
Yamashita T, Akagi T, Kimura T, et al. Effect of inhomogeneity in a patient's body on the accuracy of the pencil beam algorithm in comparison to Monte Carlo[J]. Phys Med Biol, 2012, 57: 7673-7688. DOI:10.1088/0031-9155/57/22/7673
[14]
Weng XJ, Yan YL, Shu HZ, et al. A vectorized Monte Carlo code for radiotherapy treatment planning dose calculation[J]. Phys Med Biol, 2003, 48: N111-N120. DOI:10.1088/0031-9155/48/7/401
[15]
Alexander A, Deblois F, Stroian G, et al. MMCTP:a radiotherapy research environment for Monte Carlo and patient specific treatment planning[J]. Phys Med Biol, 2007, 52: N297-N308. DOI:10.1088/0031-9155/52/13/N03
[16]
Fix MK, Manser P, Frei D, et al. An efficient framework for photononte Carlo treatment planning[J]. Phys Med Biol, 2007, 52: N425-N437. DOI:10.1088/0031-9155/52/19/N01
[17]
Downes P, Yaikhom G, Giddy JP, et al. High-performance computing for Monte Carlo radiotherapy calculations[J]. Philos Transact A Math Phys Eng Sci, 2009, 367: 2607-2017. DOI:10.1098/rsta.2009.0028
[18]
Chen Q, Lu WG, Chen Y, et al. Validation of GPU based TomoTherapy dose calculation engine[J]. Med Phys, 2012, 39: 1877-1886. DOI:10.1118/1.3693057
[19]
Peng F, Jia X, Gu X, et al. A new column-generation-based algorithm for VMAT treatment plan optimization[J]. Phys Med Biol, 2012, 57: 4569-4588. DOI:10.1088/0031-9155/57/14/4569
[20]
Hissoiny S, Ozell B, Després P. Fast convolution-superposition dose calculation on graphics hardware[J]. Med Phys, 2009, 36: 1998-2005. DOI:10.1118/1.3120286
[21]
Bakhtiari M, Malhotra H, Jones MD, et al. Applying graphics processor units to Monte Carlo dose calculation in radiation therapy[J]. Med Phys, 2010, 35: 120-122. DOI:10.4103/0971-6203.62198
[22]
Hissoiny S, Ozell B, Bouchard H, et al. GPUMCD:a new GPU-oriented Monte Carlo dose calculation platform[J]. Med Phys, 2011, 38: 754-764. DOI:10.1118/1.3539725
[23]
Badal A, Badano A. Accelerating Monte Carlo simulations of photon transport in a voxelized geometry using a massively parallel graphics processing unit[J]. Med Phys, 2009, 36: 4878-4880. DOI:10.1118/1.3231824
[24]
Alerstam E, Svensson T, Stefan AE. Parallel computing with graphics processing units for high-speed Monte Carlo simulation of photon migration[J]. Biomed Opt, 2008, 13: 060504. DOI:10.1117/1.3041496
[25]
Bert J, Perez-Ponce H, Bitar ZE, et al. Geant4-based Monte Carlo simulations on GPU for medical applications[J]. Phys Med Biol, 2013, 58: 5593-5611. DOI:10.1088/0031-9155/58/16/5593
[26]
Jia X, Gu X, Sempau J, et al. Development of a GPU-based Monte Carlo dose calculation code for coupled electron-photon transport[J]. Phy Med Biol, 2010, 55: 3077-3086. DOI:10.1088/0031-9155/55/11/006
[27]
Jia X, Gu X, Graves YJ, et al. GPU-based fast Monte Carlo simulation for radiotherapy dose calculation[J]. Phy Med Biol, 2011, 56: 7017-7031. DOI:10.1088/0031-9155/56/22/002
[28]
Townson RW, Jia X, Tian Z, et al. GPU-based Monte Carlo radiotherapy dose calculation using phase-space sources[J]. Phys Med Biol, 2013, 58: 4341-4356. DOI:10.1088/0031-9155/58/12/4341
[29]
Jahnke L, Fleckenstein J, Wenz F, et al. GMC:A GPU implementation of a Monte Carlo dose calculation based on Geant4[J]. Phy Med Biol, 2012, 57: 1217-1229. DOI:10.1088/0031-9155/57/5/1217
[30]
Pratx G, Xing L. GPU computing in medical physics:a review[J]. Med Phys, 2011, 38: 2685-2697. DOI:10.1118/1.3578605
[31]
Fox A. Cloud computing-what's in it for me as a scientist?[J]. Science, 2011, 331: 406-407. DOI:10.1126/science.1198981
[32]
Wang H, Ma Y, Pratx G, et al. Toward real-time Monte Carlo simulation using a commercial cloud computing infrastructure[J]. Phys Med Biol, 2011, 56: N175-N181. DOI:10.1088/0031-9155/56/17/N02
[33]
Philbin J, Prior F, Nagy P. Will the next generation of PACS be sitting on a cloud?[J]. Digit Imaging, 2011, 24: 179-183. DOI:10.1007/s10278-010-9331-4
[34]
Poole CM, Cornelius I, Trapp JV, et al. Radiotherapy Monte Carlo simulation using cloud computing technology[J]. Australas Phys Eng Sci Med, 2012, 35: 497-502. DOI:10.1007/s13246-012-0167-8
[35]
Na1 YH, Suh TS, Kapp DS, et al. Toward a web-based real-time radiation treatment planning system in a cloud computing environment Phys[J]. Med Biol, 2013, 58: 6525-6540. DOI:10.1088/0031-9155/58/18/6525