title: Monte Carlo simulation of photon migration in 3D turbid media accelerated by graphics processing units.
abstract: We report a parallel Monte Carlo algorithm accelerated by graphics processing units (GPU) for modeling time-resolved photon migration in arbitrary 3D turbid media. By taking advantage of the massively parallel threads and low-memory latency, this algorithm allows many photons to be simulated simultaneously in a GPU. To further improve the computational efficiency, we explored two parallel random number generators (RNG), including a floating-point-only RNG based on a chaotic lattice. An efficient scheme for boundary reflection was implemented, along with the functions for time-resolved imaging. For a homogeneous semi-infinite medium, good agreement was observed between the simulation output and the analytical solution from the diffusion theory. The code was implemented with CUDA programming language, and benchmarked under various parameters, such as thread number, selection of RNG and memory access pattern. With a low-cost graphics card, this algorithm has demonstrated an acceleration ratio above 300 when using 1792 parallel threads over conventional CPU computation. The acceleration ratio drops to 75 when using atomic operations. These results render the GPU-based Monte Carlo simulation a practical solution for data analysis in a wide range of diffuse optical imaging applications, such as human brain or small-animal imaging.
authors.affiliation: Martinos Center for Biomedical Imaging, Massachusetts General Hospital, 149 13th St, Charlestown, Massachusetts, 02129, USA. fangq@nmr.mgh.harvard.edu
authors.forename: Qianqian
authors.initials: Q
authors.lastname: Fang
authors.forename: David A
authors.initials: DA
authors.lastname: Boas
mesh_terms: D000465:Algorithms; D003198:Computer Simulation; D004867:Equipment Design; D019544:Equipment Failure Analysis; D008962:Models, Theoretical; D009010:Monte Carlo Method; D009391:Nephelometry and Turbidimetry / Q000295:instrumentation* / Q000379:methods*; D017785:Photons; D012815:Signal Processing, Computer-Assisted / Q000295:instrumentation*; D012984:Software