Next-generation acceleration and code optimization for light transport in turbid media using GPUs

A highly optimized Monte Carlo (MC) code package for simulating light transport is developed on the latest graphics processing unit (GPU) built for general-purpose computing from NVIDIA - the Fermi GPU. In biomedical optics, the MC method is the gold standard approach for simulating light transport in biological tissue, both due to its accuracy and its flexibility in modelling realistic, heterogeneous tissue geometry in 3-D. However, the widespread use of MC simulations in inverse problems, such as treatment planning for PDT, is limited by their long computation time. Despite its parallel nature, optimizing MC code on the GPU has been shown to be a challenge, particularly when the sharing of simulation result matrices among many parallel threads demands the frequent use of atomic instructions to access the slow GPU global memory. This paper proposes an optimization scheme that utilizes the fast shared memory to resolve the performance bottleneck caused by atomic access, and discusses numerous other optimization techniques needed to harness the full potential of the GPU. Using these techniques, a widely accepted MC code package in biophotonics, called MCML, was successfully accelerated on a Fermi GPU by approximately 600x compared to a state-of-the-art Intel Core i7 CPU. A skin model consisting of 7 layers was used as the standard simulation geometry. To demonstrate the possibility of GPU cluster computing, the same GPU code was executed on four GPUs, showing a linear improvement in performance with an increasing number of GPUs. The GPU-based MCML code package, named GPU-MCML, is compatible with a wide range of graphics cards and is released as an open-source software in two versions: an optimized version tuned for high performance and a simplified version for beginners (http://code.google.com/p/gpumcml).

[1]  P. Marquet,et al.  In vivo local determination of tissue optical properties: applications to human brain. , 1999, Applied optics.

[2]  Makoto Matsumoto,et al.  SIMD-Oriented Fast Mersenne Twister: a 128-bit Pseudorandom Number Generator , 2008 .

[3]  L Wang,et al.  MCML--Monte Carlo modeling of light transport in multi-layered tissues. , 1995, Computer methods and programs in biomedicine.

[4]  David A Boas,et al.  Monte Carlo simulation of photon migration in 3D turbid media accelerated by graphics processing units. , 2009, Optics express.

[5]  Stefan Andersson-Engels,et al.  White Monte Carlo for time-resolved photon migration. , 2008, Journal of biomedical optics.

[6]  David A Boas,et al.  Simulation study of magnetic resonance imaging-guided cortically constrained diffuse optical tomography of human brain function. , 2005, Applied optics.

[7]  Jie Tian,et al.  GPU-based Monte Carlo simulation for light propagation in complex heterogeneous tissues. , 2010, Optics express.

[8]  Tomas Svensson,et al.  Parallel computing with graphics processing units for high-speed Monte Carlo simulation of photon migration. , 2008, Journal of biomedical optics.

[9]  I. V. Meglinsky,et al.  Modelling the sampling volume for skin blood oxygenation measurements , 2006, Medical and Biological Engineering and Computing.

[10]  B. Wilson,et al.  A Monte Carlo model for the absorption and flux distributions of light in tissue. , 1983, Medical physics.

[11]  W. Eric L. Grimson,et al.  Anatomical atlas-guided diffuse optical tomography of brain activation , 2009, NeuroImage.

[12]  Aldo Badano,et al.  Accelerating Monte Carlo simulations of photon transport in a voxelized geometry using a massively parallel graphics processing unit. , 2009, Medical physics.

[13]  S L Jacques,et al.  Optical properties of intralipid: A phantom medium for light propagation studies , 1992, Lasers in surgery and medicine.

[14]  Robert A Weersink,et al.  Treatment planning and dose analysis for interstitial photodynamic therapy of prostate cancer , 2009, Physics in medicine and biology.

[15]  J. Spanier,et al.  Perturbation Monte Carlo methods to solve inverse photon migration problems in heterogeneous tissues. , 2001, Optics letters.

[16]  N. Ramanujam,et al.  Monte Carlo-based inverse model for calculating tissue optical properties. Part I: Theory and validation on synthetic phantoms. , 2006, Applied optics.

[17]  Martin Greenberger,et al.  Random number generators , 1959, ACM National Meeting.

[18]  D. Boas,et al.  Three dimensional Monte Carlo code for photon migration through complex heterogeneous media including the adult human head. , 2002, Optics express.

[19]  M. Kohl,et al.  Near-infrared optical properties of ex vivo human skin and subcutaneous tissues measured using the Monte Carlo inversion technique. , 1998, Physics in medicine and biology.

[20]  Johannes Swartling,et al.  Realtime light dosimetry software tools for interstitial photodynamic therapy of the human prostate. , 2007, Medical physics.

[21]  S L Jacques,et al.  CONV--convolution for responses to a finite diameter photon beam incident on multi-layered tissues. , 1997, Computer methods and programs in biomedicine.

[22]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[23]  J. Pomarico,et al.  Solution of the direct problem in turbid media with inclusions using Monte Carlo simulations implemented in graphics processing units: new criterion for processing transmittance data. , 2010, Journal of biomedical optics.

[24]  Lothar Lilge,et al.  GPU-accelerated Monte Carlo simulation for photodynamic therapy treatment planning , 2009, European Conference on Biomedical Optics.

[25]  Lothar Lilge,et al.  Hardware acceleration of a Monte Carlo simulation for photodynamic therapy [corrected] treatment planning. , 2009, Journal of biomedical optics.

[26]  Haiou Shen,et al.  A tetrahedron-based inhomogeneous Monte Carlo optical simulator , 2010, Physics in medicine and biology.

[27]  M. J. Quinn,et al.  Parallel Computing: Theory and Practice , 1994 .