Efficient implementation of the 3D-DDA ray traversal algorithm on GPU and its application in radiation dose calculation.

PURPOSE The three-dimensional digital differential analyzer (3D-DDA) algorithm is a widely used ray traversal method, which is also at the core of many convolution∕superposition (C∕S) dose calculation approaches. However, porting existing C∕S dose calculation methods onto graphics processing unit (GPU) has brought challenges to retaining the efficiency of this algorithm. In particular, straightforward implementation of the original 3D-DDA algorithm inflicts a lot of branch divergence which conflicts with the GPU programming model and leads to suboptimal performance. In this paper, an efficient GPU implementation of the 3D-DDA algorithm is proposed, which effectively reduces such branch divergence and improves performance of the C∕S dose calculation programs running on GPU. METHODS The main idea of the proposed method is to convert a number of conditional statements in the original 3D-DDA algorithm into a set of simple operations (e.g., arithmetic, comparison, and logic) which are better supported by the GPU architecture. To verify and demonstrate the performance improvement, this ray traversal method was integrated into a GPU-based collapsed cone convolution∕superposition (CCCS) dose calculation program. RESULTS The proposed method has been tested using a water phantom and various clinical cases on an NVIDIA GTX570 GPU. The CCCS dose calculation program based on the efficient 3D-DDA ray traversal implementation runs 1.42 ∼ 2.67× faster than the one based on the original 3D-DDA implementation, without losing any accuracy. CONCLUSIONS The results show that the proposed method can effectively reduce branch divergence in the original 3D-DDA ray traversal algorithm and improve the performance of the CCCS program running on GPU. Considering the wide utilization of the 3D-DDA algorithm, various applications can benefit from this implementation method.

[1]  René Caubet,et al.  Discrete Ray‐Tracing of Huge Voxel Spaces , 1995, Comput. Graph. Forum.

[2]  Russell H. Taylor,et al.  Towards real-time radiation therapy: GPU accelerated superposition/convolution , 2010, Comput. Methods Programs Biomed..

[3]  Luca Cozzi,et al.  Comparison of dose calculation algorithms for treatment planning in external photon beam therapy for clinical situations , 2006, Physics in medicine and biology.

[4]  Shahid A Naqvi,et al.  Convolution/superposition using the Monte Carlo method. , 2003, Physics in medicine and biology.

[5]  A. Ahnesjö Collapsed cone convolution of radiant energy for photon dose calculation in heterogeneous media. , 1989, Medical physics.

[6]  Russell H. Taylor,et al.  Real-time dose computation: GPU-accelerated source modeling and superposition/convolution. , 2010, Medical physics.

[7]  Peter Stephenson,et al.  Making the DDA run: two-dimensional ray traversal using runs and runs of runs , 2001, Proceedings 24th Australian Computer Science Conference. ACSC 2001.

[8]  John Amanatides,et al.  A Fast Voxel Traversal Algorithm for Ray Tracing , 1987, Eurographics.

[9]  Bjorn De Sutter,et al.  A Fast Algorithm to Calculate the Exact Radiological Path through a Pixel or Voxel Space , 1998 .

[10]  A Bel,et al.  Accelerated ray tracing for radiotherapy dose calculations on a GPU. , 2009, Medical physics.

[11]  Benoît Ozell,et al.  GPUMCD: A new GPU-oriented Monte Carlo dose calculation platform. , 2011, Medical physics.

[12]  Weiguo Lu,et al.  Accurate convolution/superposition for multi-resolution dose calculation using cumulative tabulated kernels , 2005, Physics in medicine and biology.

[13]  Xiaobo Sharon Hu,et al.  Memory-efficient volume ray tracing on GPU for radiotherapy , 2011, 2011 IEEE 9th Symposium on Application Specific Processors (SASP).

[14]  Bo Zhou,et al.  GPU-accelerated Monte Carlo convolution/superposition implementation for dose calculation. , 2010, Medical physics.

[15]  Timo Aila,et al.  Understanding the efficiency of ray traversal on GPUs , 2009, High Performance Graphics.

[16]  Benoît Ozell,et al.  A convolution-superposition dose calculation engine for GPUs. , 2010, Medical physics.

[17]  R. Siddon Fast calculation of the exact radiological path for a three-dimensional CT array. , 1985, Medical physics.

[18]  Tianyi David Han,et al.  Reducing branch divergence in GPU programs , 2011, GPGPU-4.

[19]  H Edwin Romeijn,et al.  Fast voxel and polygon ray-tracing algorithms in intensity modulated radiation therapy treatment planning. , 2006, Medical physics.

[20]  Weiguo Lu,et al.  Ultrafast convolution/superposition using tabulated and exponential kernels on GPU. , 2011, Medical physics.