Acknowledgement: This software release is made possible with the funding support from NIH/NIGMS under the grant number R01-GM114365.
Monte Carlo eXtreme, or MCX, is a fast Monte Carlo software package for photon transport simulation in 3D heterogeneous media. It uses Graphics Processing Units (GPU) for massively parallel simulations and offers hundreds times acceleration compared to a traditional single-threaded CPU-based simulation.
This release fully supports NVIDIA Pascal GPUs. The speed comparisons between different generations of NVIDIA GPUs can be found at
MCX v2017.3 (code named "Dark Matter") is a Release Candidate for MCX v1.0. It is a result of numerous improvements developed over the past year, and contains a list of new features and bug fixes. If you are using a previous release, you are strongly recommended to upgrade immediately.
In this new release, MCX adds support for a number of highly requested features, such as recording diffuse reflectance, saving photon exit position/direction, showing progress bar, and supporting converting and diverging widefield beams. It has also been carefully optimized to obtain better speed on a modern GPU. Using various GPU programming techniques (including C++ template, branch divergence removal etc), we have managed to further improve the MCX speed by 1.7-2.5 fold for Kepler, Maxwell and Pascal GPUs.
The MCX/MCXLAB software in this release was also improved in portability. We have developed automated compilation scripts that work seamlessly on Windows, Linux and Mac OS. Starting from Apr. 2016, we have announced and enabled a nightly-build service - the latest MCX/MCXLAB source codes are downloaded, compiled and packaged everyday - to bring our latest development to the user community in a timely manner.
The nightly-build software repository can be found at http://mcx.space/nightly/
Please visit our website (http://mcx.space) for more detailed documentation, demos and tutorials.
Compared to the previous release (version v2016.4, released in Apr. 2016), MCX v2017.3 gains the following new features and bug fixes:
In the meantime, a number of critical bugs were fixed:
Pre-compiled MCX are provided for Windows (64 bit), Linux (64bit) and Mac OS (64bit). In the case of MCXLAB, mex files for both Matlab and Octave on these platforms are provided. All binaries have been tested on Fermi/Kepler and Maxwell GPUs.
The provided binaries require a Fermi (Compute Capability 2.0) or newer GPU. If you have an older GPU (CC 1.0 or 1.1), you will have to recompile mcx using "make fast".
To install MCX version v2017.3, you need
The CUDA toolkit is no longer required in this release, however, if you run into CUDA errors, please download the latest CUDA driver, you can download from here
In this release, all precompiled binaries, including both mcx executables and mcxlab mex files, have built-in CUDA run-time libraries via static linking. Therefore, downloading/setting CUDA toolkit and the run-time librarie files (cudart.dll/libcudart.so/libcudart.dylib) are no longer needed.
However, if you run into CUDA errors, please first try to update your NVIDIA graphics driver to the latest version
If the latest graphics driver still can not solve the problem, please download the "developer driver" for your GPU. You may download the developer driver as part of the CUDA Toolkit installation package.
To use MCXLAB v2017.3 in GNU Octave, you must install the following:
Be aware, if you have a Maxwell GPU (GTX 980Ti and 980) and plan to run MCX on it, please first test the benchmark script "run_benchmark1.sh" or "run_benchmark1.bat" under the mcx/example folder. You are expected to see ~29,000 photon/ms for 980Ti and 20,000 photon/ms for 980. If your simulation speed is around 1,200 to 1,500 photon/ms, that means you are impacted by a bug in the CUDA driver. Please recompile MCX using CUDA 7.0 or 6.5, update your NVIDIA driver to version 375 or later. For details, please see
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)