Release Notes for Monte Carlo eXtreme Version 0.9.7-2

code name: Dark Matter, released on Sep. 23, 2014

1. Introduction
2. About this release
3. System requirements
4. Reference

1. Introduction

Monte Carlo eXtreme, or MCX, is a fast Monte Carlo simulation package for photon transport in 3D heterogeneous media. It uses Graphics Processing Units (GPU) for massively parallel computing and offers hundreds times acceleration compared to a traditional single-threaded CPU-based simulation.

2. About this release

MCX 0.9.7-2 (code named "Dark Matter") contains a number of important bug fixes. These corrections include:

  1. [svn r323] high priority bug fixes submitted by Kim Shultz: transmission angle and oddphoton handling
  2. [svn r324] a patch submitted by David Gasperino for rigorously modeling a collimated Gaussian beam
  3. [svn r325] fix sub-millimeter voxel scaling bug in the binary executables
  4. [svn r325] fix total simulated photon count

The first bug affects all previous MCX releases! This bug will result in inaccurate results when you deal with refractive index mismatch at the internal boundaries (it does not affect the n-mismatch at the outer boundary). Thanks to Kim Shultz for spotting this long-lasting issue!

The second bug affects all simulations using the 'gaussian' source profile. The previous implementation (initially introduced in 0.9.7) contains an approximation. This is now replaced by a rigorous implementation, thanks to David Gasperino's patch.

The third bug appears when you run the mcx binary along with the "-u len" input to specify a sub-millimeter resolution grid. If you have already produced output using the old MCX software, you need to multiply 1/(len*len) to scale the solution, where len is your specified voxel length in mm. This bug does not affect MCXLAB simulations.

The 4th bug result in a lower number of simulated photons. The deviation can be up to the number of threads.

If you are using a previous version of MCX, you are strongly recommended to upgrade to this release to avoid getting erroneous results.

There is also a new feature added:

  1. [svn r322] saving detected photon seed for fast replay and pMC analysis

This allows one to save the seed of a detected photon, so one can "replay" these photons to produce a sensitivity profile, similar to the latest version of MMC.

3. System requirements

Pre-compiled MCX are provided for Windows (32/64 bit), Linux (32/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 a Fermi GPU (GTX 590).

The detailed change logs can be found in the ChangeLog and SVN commit history pages.

To install version 0.9.7-2, you need

  • a CUDA-enabled graphics card made by NVIDIA, a full list of supported cards can be found here
  • a computer running GNU/Linux, Windows or Mac OS
  • the latest CUDA toolkit and development driver, you can download from here

If you download the "fermi" packages, you need to have a Fermi (GTX 4xx) or newer graphics card. This binary will allow you to use photon detection, atomic operations and shared memory buffer, originally provided by different binaries, in a single binary, and the features are switched using command line options (-R option in particular).

If your downloaded package contains "cuda4" in the file name, you should download cuda 4.2.x before running MCX; likewise, if it has cuda6, you should install cuda 6.0 first.

To use MCXLAB v0.9.7-2 in MATLAB, you must have a MATLAB pre-installed. Be careful, newer MATLAB ships with a copy of libcudart library. Make sure you the MCX version matches the shipped cuda in your matlab.

To use MCXLAB v0.9.7-2 in GNU Octave, you must install the following:

  • GNU Octave
  • libblas, libgfortran and libhdf5

In all cases, CUDA libraries ( for Linux, libcudart.dylib for Mac and cudart*.dll for Windows) must be properly installed before you launch MCX.

4. Reference

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)

Powered by Habitat