GPU Cluster based Monte Carlo Simulation of Light Transport in Multi-layered Turbid Media

by Chao Jiang, Pengcheng Li, Qingming Luo
Britton Chance Center for Biomedical Photonics, Wuhan National Laboratory for Optoelectronics,
University of Science and Technology, Wuhan 430074, PR China
September 10, 2009



Monte Carlo simulation is of great significance in simulating the light propagation in tissues, which quantifies the light delivered to the treated tissue and is an important factor for improving clinical results. However, Monte Carlo simulation is quite time-consuming because of the extensive computational burden. It limits the practical application of Monte Carlo method greatly. Erik Alerstam et al developed a GPU based Monte Carlo simulation program called CUDAMCML and it improves the performance greatly compared with the conventional programs running on the CPU. Lo et al also provides a multi-gpu supported version on a single computer called “GPUMCML”. To further improve the performance of GPU based Monte Carlo simulation for photon transport in turbid media, We developed a new version of Monte Carlo program for simulation of light transport in multi-layered tissues base on the GPU Cluster. We call it "GCMCML"(GPU Cluster based MCML) in simple words. It has the same function as Lihong Wang and Steven L. Jacques' original "MCML" running on the CPU. In our "GCMCML", Distributed Computing of GPU Clusters installed in different personal computers within a local area network (LAN) are employed to accelerate the simulation greatly. The latest version of GCMCML supports multiple GPUs on each node of the cluster. Moreover, We appreciate some nice insights of CUDAMCML of Erik Alerstam et al and the GPUMCML of Lo et al for optimizing the performance of single GPU based MCML very much. They improve the performance of our single-node program greatly.

 GCMCML source codes package (updated on August 3rd 2010)

These packages include the following files: the source codes of GCMCML, a Microsoft visual studio 2005 project, a makefile for compile the program in Linux and seed file for generating random number . There is also a manual which tells how to build the environment and use our program.

Some other tips
We recommend that the GPUs of each node are Geforce 9800GT with 512M video memory or more advanced Nvidia GPU.
If you have any question, you can write to us using this email address: or