Monte Carlo eXtreme, or MCX, is a fast Monte Carlo simulation software for photon transport in 3D heterogeneous media. It uses Graphics Processing Units (GPU) based massively parallel computing techniques and is hundreds times faster compared to traditional single-threaded CPU-based simulations.
MCX is designed for generality, high computational efficiency, and excellent portability. It contains 5 variant forms which are compiled with different feature sets. The software can be compiled on various platforms including Windows, Linux, Mac OS, and can be used with almost all generations of CUDA-capable devices (8800GT to Fermi).
MCX v0.5.3 is a stable maintenance release. In this release, we corrected a forward-bias bug, reported by Dave Giraud from Boston University. It also fixes a regression introduced in 0.5.2 when dealing with reflections at the boundary. A key enhancement is the support of JSON-formatted input files. For those of you who are not familiar with JSON, it is a highly portable, human-readable and "fat-free" text format. It has been widely used for web applications and is becoming a popular choice for native programs too. We already add JSON support for Mesh-based Monte Carlo (MMC) version 0.9 (http://mcx.sourceforge.net/cgi-bin/index.cgi?MMC/Doc/ReleaseNotes/0.9.0) This new addition was ported from the MMC code base.
Compared to Black Hole update 2 released in Sep. 2011, update 3 includes the following changes:
Pre-compiled MCX were provided for Windows (32/64bit), Linux (32/64bit) and Mac OS (32bit). In the case of MCXLAB, mex files for both Matlab and Octave on these platforms are provided. All binaries were tested on a Fermi GPU (GTX 590).
The detailed change logs can be found in the ChangeLog and SVN commit history pages.
If you choose to use JSON input files, you can use the JSONlab toolbox to direct load/save these JSON input files in MATLAB or Octave. JSONlab was written by the same author as MCX.
To install MCX v0.5.3, you need
To use MCXLAB v0.5.3 in MATLAB, you must have a MATLAB pre-installed.
To use MCXLAB v0.5.3 in GNU Octave, you must install the following:
In all cases, CUDA libraries (libcudart.so for Linux, libcudart.dylib for Mac and cudart*.dll for Windows) must be properly installed before you launch MCX.
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)