PLATFORM DEPENDENT EFFICIENCY OF A MONTE CARLO CODE FOR TISSUE NEUTRON DOSE ASSESSMENT
Slobodan Milutinović, Filip Jeremić, Marko Mišić, Miloš Vujisić, Predrag Marinković
RAD Conference Proceedings
Efficiency of a Monte Carlo algorithm for neutron dose calculation is compared in two implementations: a standard C++ code executed sequentially, and a CUDA C/C++ code which utilizes GPU resources for highly parallel processing. Both versions of the algorithm, developed specifically for this investigation, are based on the same physical model for the assessment of neutron dose in tissues, including lung, cortical bone and adipose tissue. The model treats emission and interaction of neutrons
... hastically, utilizing cross sections for relevant interaction types. Several intentional simplifications have been introduced into the physical model used for simulations, which have allowed parts of the two codes to be related to one another in a straightforward way. A neutron's history is terminated when it leaves the outer ellipsoid (representing the human body), experiences any of the absorption interactions (inside one of the inner geometrical regions, representing tissues or organs), or if its energy falls below the cut-off limit set at 0.001 eV. The two approaches to algorithm implementation are compared according to execution speed, at various neutron source energies and for an increasing number of neutron histories. The fact that particle histories in a Monte Carlo simulation are independent from one another makes this kind of calculation suitable for implementation on parallel processing platforms. CUDA framework offers higher speeds of code execution, allowing more particle histories to be processed within a set time frame, and thus yields lower statistical uncertainty and higher reliability of the calculated neutron dose values. Appropriating standard C++ codes for CUDA is faced with specific challenges, which are described in the investigated case of neutron dose assessment. Despite the physical representation of neutron transport being somewhat simplified, comparison of both implementations to results obtained from MCNP shows good agreement in a wide range of neutron energies.