Monte Carlo eXtreme, or MCX, is a Monte Carlo software for time-resolved photon transport simulations in 3D heterogeneous turbid media. By taking advantage of the massively parallel threads and extremely low memory latency in a modern graphics processing unit (GPU), this program is able to perform Monte Carlo (MC) simulations at a blazing speed, typically hundreds to a thousand times faster than a fully optimized CPU-based MC implementation. This software can be used on Windows, Linux and Mac OS. MCX is written in CUDA and can be used with NVIDIA hardware with the native NVIDIA drivers, or used with the open-source GPU Ocelot libraries for CPUs and AMD GPUs. An OpenCL implementation of MCX, i.e. MCXCL, was announced on July, 2012. It supports NVIDIA/AMD/Intel hardware out-of-box.
MCX is an open-source software developed by Qianqian Fang. He is currently an Assistant Professor in the Dept. of Bioengineering at Northeastern University. The algorithm behind this software is detailed in the following paper:
- Qianqian Fang and David A. Boas, "Monte Carlo Simulation of Photon Migration in 3D Turbid Media Accelerated by Graphics Processing Units," Opt. Express, vol. 17, issue 22, pp. 20178-20190 (2009)