de Greef M, Crezee J, van Eijk J C, Pool R, Bel A
Department of Radiation Oncology, University of Amsterdam, Meibergdreef 9, 1105 AZ Amsterdam, The Netherlands.
Med Phys. 2009 Sep;36(9):4095-102. doi: 10.1118/1.3190156.
The graphical processing unit (GPU) on modern graphics cards offers the possibility of accelerating arithmetically intensive tasks. By splitting the work into a large number of independent jobs, order-of-magnitude speedups are reported. In this article, the possible speedup of PLATO's ray tracing algorithm for dose calculations using a GPU is investigated.
A GPU version of the ray tracing algorithm was implemented using NVIDIA's CUDA, which extends the standard C language with functionality to program graphics cards. The developed algorithm was compared based on the accuracy and speed to a multithreaded version of the PLATO ray tracing algorithm. This comparison was performed for three test geometries, a phantom and two radiotherapy planning CT datasets (a pelvic and a head-and-neck case). For each geometry, four different source positions were evaluated. In addition to this, for the head-and-neck case also a vertex field was evaluated.
The GPU algorithm was proven to be more accurate than the PLATO algorithm by elimination of the look-up table for z indices that introduces discretization errors in the reference algorithm. Speedups for ray tracing were found to be in the range of 2.1-10.1, relative to the multithreaded PLATO algorithm running four threads. For dose calculations the speedup measured was in the range of 1.5-6.2. For the speedup of both the ray tracing and the dose calculation, a strong dependency on the tested geometry was found. This dependency is related to the fraction of air within the patient's bounding box resulting in idle threads.
With the use of a GPU, ray tracing for dose calculations can be performed accurately in considerably less time. Ray tracing was accelerated, on average, with a factor of 6 for the evaluated cases. Dose calculation for a single beam can typically be carried out in 0.6-0.9 s for clinically realistic datasets. These findings can be used in conventional planning to enable (nearly) real-time dose calculations. Also the importance for treatment optimization techniques is evident.
现代图形卡上的图形处理单元(GPU)为加速算术密集型任务提供了可能。通过将工作分解为大量独立作业,据报道可实现数量级的加速。在本文中,研究了使用GPU加速PLATO射线追踪算法进行剂量计算的可能性。
使用NVIDIA的CUDA实现了射线追踪算法的GPU版本,CUDA通过对图形卡进行编程的功能扩展了标准C语言。将开发的算法在准确性和速度方面与PLATO射线追踪算法的多线程版本进行了比较。针对三种测试几何结构、一个体模和两个放射治疗计划CT数据集(盆腔和头颈病例)进行了此比较。对于每种几何结构,评估了四个不同的源位置。除此之外,对于头颈病例还评估了一个顶点场。
通过消除在参考算法中引入离散化误差的z索引查找表,证明GPU算法比PLATO算法更准确。相对于运行四个线程的多线程PLATO算法,射线追踪的加速比在2.1 - 10.1范围内。对于剂量计算,测得的加速比在1.5 - 6.2范围内。对于射线追踪和剂量计算的加速比,发现强烈依赖于测试的几何结构。这种依赖性与患者边界框内空气的比例有关,导致线程空闲。
使用GPU,可以在更短的时间内准确地进行用于剂量计算的射线追踪。对于所评估的病例,射线追踪平均加速了6倍。对于临床实际数据集,单束的剂量计算通常可在0.6 - 0.9秒内完成。这些发现可用于传统计划以实现(几乎)实时剂量计算。对于治疗优化技术的重要性也很明显。