
TECHNICAL NOTE 



Year : 2010  Volume
: 35
 Issue : 2  Page : 120122 

Applying graphics processor units to Monte Carlo dose calculation in radiation therapy
M Bakhtiari^{1}, H Malhotra^{1}, MD Jones^{2}, V Chaudhary^{3}, JP Walters^{3}, D Nazareth^{1}
^{1} Department of Radiation Medicine, Roswell Park Cancer Institute, Buffalo, NY 14263, USA ^{2} Department of Physics and Center for Computational Research, University at Buffalo, SUNY, Buffalo, NY 14260, USA ^{3} Computer Science and Engineering, University at Buffalo, SUNY, Buffalo, NY 14260, USA
Date of Submission  05Oct2009 
Date of Decision  03Nov2009 
Date of Acceptance  14Nov2009 
Date of Web Publication  3Apr2010 
Correspondence Address: M Bakhtiari Radiation Medicine Department, Roswell Park Cancer Institute, Buffalo, NY 14263 USA
Source of Support: None, Conflict of Interest: None  Check 
DOI: 10.4103/09716203.62198
Abstract   
We investigate the potential in using of using a graphics processor unit (GPU) for MonteCarlo (MC)based radiation dose calculations. The percent depth dose (PDD) of photons in a medium with known absorption and scattering coefficients is computed using a MC simulation running on both a standard CPU and a GPU. We demonstrate that the GPU's capability for massive parallel processing provides a significant acceleration in the MC calculation, and offers a significant advantage for distributed stochastic simulations on a single computer. Harnessing this potential of GPUs will help in the early adoption of MC for routine planning in a clinical environment.
Keywords: Graphics processor unit, Monte Carlo
How to cite this article: Bakhtiari M, Malhotra H, Jones M D, Chaudhary V, Walters J P, Nazareth D. Applying graphics processor units to Monte Carlo dose calculation in radiation therapy. J Med Phys 2010;35:1202 
How to cite this URL: Bakhtiari M, Malhotra H, Jones M D, Chaudhary V, Walters J P, Nazareth D. Applying graphics processor units to Monte Carlo dose calculation in radiation therapy. J Med Phys [serial online] 2010 [cited 2017 Nov 19];35:1202. Available from: http://www.jmp.org.in/text.asp?2010/35/2/120/62198 
The use of Monte Carlo (MC) simulations is highly desirable for dose calculation in radiation therapy as part of treatment planning or verification. MC simulations represent the gold standard in radiation dose calculation since they include the real physics of the interactions of photons with materials.^{ [1],[2],[3],[4]} Because of the complexity of the physics and atomic data of the interactions, solving the photon transport equations analytically is difficult or impossible. MC simulations track each photon through the medium by using random numbers to determine the occurrence of a particular interaction.^{ [5]} Since stochastic processes are involved, simulating a large number of photons is necessary to obtain reasonable statistical accuracy. This results in a computationallyexpensive calculation. The standard CPU of a workstation or PC lacks the numerical performance for this task, and may require several hours for a typical MC dose calculation. In addition, manufacturers have not increased CPU clock speed recently, due to concerns about overheating and power consumption. One method of addressing this issue is to exploit the highly parallelizable nature of MC simulations, which permits calculations to be performed on a cluster of networked CPU's. For example, MC simulations performed at our institution employ a cluster of 1000 dual core Linux machines (2000 CPUs), maintained and administered by a local academic supercomputing facility. However, most clinics do not have access to such computational resources.
Fortunately, within the last several years, the programmable GPU has evolved into a powerful computing device, as illustrated by [Figure 1].^{ [6]} With multiple cores driven by very high memory bandwidth, GPU's offer lowcost computational resources for both graphics and nongraphics processing.^{ [7],[8],[9]} Since it was designed primarily for graphics rendering, the GPU architecture devotes more transistors to data processing than to data caching and flow control. More specifically, the GPU is especially well suited to calculations which can be expressed as dataparallel computations and require a high ratio of arithmetic operations to memory operations.
We investigated the use of GPUs for MC dose calculations. Such an implementation would allow a physicist access to the computational resources of a supercomputer cluster in an inexpensive and portable machine. NVIDIA's ( www.nvidia.com ) recentlyreleased GPU programming language, CUDA (Compute Unified Device Architecture) provided the necessary software tools.^{ [9]}
In order to compare the performances of GPU and CPU platforms for MC simulations, we developed a simple photon transport MC program. The code was implemented and run on both platforms, and the performances were compared. Therefore, the purpose of this technical note is not to describe a physicallyaccurate MC code, but rather to illustrate the potential advantages of GPU processing for this family of applications.
The simulation is performed in the following manner. A photon is incident on a semiinfinite isotropic medium, initially normal to the surface. The photon travels a distance of up to a value, s. During this process, the photon may undergo no interaction, or be scattered or absorbed. Since the medium is uniform, the absorption and scattering coefficients are constant throughout. No secondaryparticle production is considered. If the photon is scattered, the new direction is selected randomly from a uniform distribution. When absorption occurs, the position of the absorption is recorded, and the simulation then proceeds with the next photon. All photons possess identical initial energy and are incident on the same point. A convolution technique can then be used to determine the dose distribution due to a beam profile of any shape. [Figure 2] shows the dose distribution as a function of depth resulting from a simulation of 10^{ 7} histories. Note that since no secondary particle generation is considered, the curve achieves a maximum at zero depth, and the shape is different from a standard PDD.
We implemented the simulation on an Nvidia 8800 Ultra GPU using the CUDA language. The required random numbers were generated by the GPU, and the history of each photon was simulated using a separate thread. A total of 4096 concurrent threads were available. The program was then implented on a standard PC in the C++ language, and executed on the CPU for comparison with the GPU results comparison purposes.
The simulation times required for the CPU and GPU execution are shown in [Figure 3]. For a large number of histories, the GPU program is approximately 150 times faster, or equivalently, the GPU could simulate 150 times more histories than the CPU in a given amount of time
The potential was investigated of employing a GPU for MC simulation in radiation therapy. It was shown that the parallel data processing capabilities of the GPU can be harnessed to greatly increase the number of photon histories which may be simulated in a given time. The number was up to two orders of magnitude larger than that of the CPU simulation. This increase, using lowcost hardware and freelyavailable software tools, can provide enhanced accuracy of MC calculations, and make them feasible for clinical implementation.
This work was supported by an award from the Roswell Park Alliance Foundation. This research was supported in part by grant from NYSTAR. One of the authors, MB, would like to thank Dr. Matthew Podgorsak at Roswell Park Cancer Institute for supporting the work.
References   
1.  Chetty IJ, Curran B, Cygler JE, DeMarco JJ, Ezzell G, Faddegon BA, et al. Report of the AAPM Task Group No. 105: Issues associated with clinical implementation of Monte Carlobased photon and electron external beam treatment planning. Med Phys 2007;34:4818. 
2.  Dogan N, Siebers JV, Keall PJ, Lerma F, Wu Y, Fatyga M, et al. Improving IMRT dose accuracy via deliverable Monte Carlo optimization for the treatment of head and neck cancer patients. Med Phys 2006;33:403343. 
3.  Lovelock DM, Chui CS, Mohan R. A Monte Carlo model of photon beams used in radiation therapy. Med Phys 1995;22:138794. 
4.  Stabin MG, Konijnenberg M, Knapp FF Jr, Spencer RH. Monte Carlo modeling of radiation dose distributions in intravascular radiation therapy. Med Phys 2000;27:108692. 
5.  Nelson WR, Hirayama H, Rogers DW. Standford: Standford Linear Accelerator Center; 1985. 
6.  Buck I, NVIDIA, Code generation and optimization, 2007.CGO'07. International Symposium; 2007. 
7.  Liu W, Schmidt B, Voss G, MullerWittig W. Lecture notes in computer. Science 2007;4873:185. 
8.  Després P, Rinkel J, Hasegawa BH, Prevrhal S. Stream processors: a new platform for Monte Carlo calculations. J Physics: Conference Series 2008;102:012007. 
9.  Owens J, Houston M, Luebke D, Green S, Stone J, Phillips J. GPU Computing. Proc IEEE 2008;96:879. 
[Figure 1], [Figure 2], [Figure 3]
This article has been cited by  1 
From CPU to GPGPU: Challenges and insights in GPUbased environmental simulations 

 Chadwick, J., Taiani, F., Beecham, J.   Proceedings of the 10th International Workshop on Middleware for Grids, Clouds and eScience, MGC 2012  Colocated with ACM/IFIP/USENIX 13th International Middleware Conference. 2012;   [Pubmed]   2 
SIScaRGPU: Fast simulation and visualization of intraoperative scattered radiation to support radiation protection training 

 Wagner, M., Dresing, K., Ludwig, W., Ahrens, C.A., Bott, O.J.   Studies in Health Technology and Informatics. 2012; 180: 968972   [Pubmed]   3 
Toward realtime Monte Carlo simulation using a commercial cloud computing infrastructure 

 Henry Wang,Yunzhi Ma,Guillem Pratx,Lei Xing   Physics in Medicine and Biology. 2011; 56(17): N175   [Pubmed]  [DOI]   4 
Toward realtime Monte Carlo simulation using a commercial cloud computing infrastructure 

 Wang, H., Ma, Y., Pratx, G., Xing, L.   Physics in Medicine and Biology. 2011; 56(17): 175181   [Pubmed]   5 
DEMCMCGPU: An efficient multiobjective optimization method with GPU acceleration on the fermi architecture 

 Zhu, W., Yaseen, A., Li, Y.   New Generation Computing. 2011; 29(2): 163184   [Pubmed]  





