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).
Erik
E
Alerstam
William Chun Yip
WC
Lo
Tianyi David
TD
Han
Jonathan
J
Rose
Stefan
S
Andersson-Engels
Lothar
L
Lilge
Opt Lett. 2001 Sep 1;26(17):1335-7
18049600
Med Phys. 2007 Nov;34(11):4309-21
18072496
Med Phys. 2009 Nov;36(11):4878-80
19994495
Med Biol Eng Comput. 2001 Jan;39(1):44-50
11214272
Appl Opt. 2006 Feb 10;45(5):1062-71
16512550
Appl Opt. 1999 Aug 1;38(22):4939-50
18323984
Appl Opt. 2005 Apr 1;44(10):1957-68
15813532
Lasers Surg Med. 1992;12(5):510-9
1406004
J Biomed Opt. 2010 May-Jun;15(3):035002
20615002
J Biomed Opt. 2008 Jul-Aug;13(4):041304
19021312
Phys Med Biol. 1998 Sep;43(9):2465-78
9755939
Comput Methods Programs Biomed. 1995 Jul;47(2):131-46
7587160
Comput Methods Programs Biomed. 1997 Nov;54(3):141-50
9421660
J Biomed Opt. 2008 Nov-Dec;13(6):060504
19123645
J Biomed Opt. 2009 Jan-Feb;14(1):014019
19256707
Neuroimage. 2010 Jan 1;49(1):561-7
19643185
Opt Express. 2002 Feb 11;10(3):159-70
19424345
Med Phys. 1983 Nov-Dec;10(6):824-30
6656695
Phys Med Biol. 2010 Feb 21;55(4):947-62
20090182
Opt Express. 2009 Oct 26;17(22):20178-90
19997242
Opt Express. 2010 Mar 29;18(7):6811-23
20389700
Phys Med Biol. 2009 Apr 21;54(8):2293-313
19305043