Acknowledgement: This software release is made possible with the funding support from the NIH/NIGMS under grant R01-GM114365.
In MCX-CL v2020 (0.9.9), we added a list of major new additions, including
gaussian
, pattern
, pattern3d
, fourier
, disk
, fourierx
, fourierx2d
, and slit
- by setting cfg.srcdir(4)
to nan
mch
file reader (by Shih-Cheng Tu), nightly build compilation script, colored command line output, and more
Compared to MCXCL v2019.4 (0.9.8), MCX-CL has gained support of nearly all core features in MCX, i.e.
In addition, we also fixed a number of critical bugs, such as
MCX-CL (or MCX for OpenCL) is a high-performance, highly scalable and general-purpose Monte Carlo photon transport simulator for biophotonics applications. Compared to MCX (implemented with NVIDIA CUDA), MCXCL is written in the OpenCL framework, and is capable of launching parallel photon simulations on most modern CPUs and GPUs produced by many vendors, including NVIDIA, AMD and Intel.
MCX-CL shares nearly identical command line options and input file formats as MCX. The simulation settings designed for MCX can be simply used for MCX-CL simulations without major modifications. There are only a few features in MCX that have not yet been ported to MCXCL, such as photon replay, we are working on those and hopefully make both software 100% compatible.
Similar to MCXLAB, MCXLAB-CL is the MATLAB mex version of the MCXCL software.
It can be directly called inside MATLAB and GNU Octave. It also uses the same
input structure settings as in MCXLAB, making both packages highly compatible.
One can even define USE_MCXCL=1
in MATLAB command window, and all MCXLAB calls
will call MCXLAB-CL automatically.
By default, MCX-CL uses OpenCL-based simulations to utilize
all GPUs and CPUs installed on your system. If you have a GPU
(NVIDIA, AMD or Intel), the OpenCL support is typically installed
if you have correctly installed the latest version of the graphics
driver. Please verify that the OpenCL library (libOpenCL.so*
on Linux,
OpenCL.dll
on Windows or /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
on the Mac) must exist in your system.
Generally speaking, AMD and NVIDIA high-end dedicated GPU performs the best, about 20-60x faster than a multi-core CPU; Intel's integrated GPU is about 3-4 times faster than a multi-core CPU.
In addition, MMC has been fully tested with the open-source OpenCL runtime
pocl
(http://portablecl.org/) on the CPU. To install pocl
on a Ubuntu/Debian
system, please run
sudo apt-get install pocl-opencl-icd
Step-by-step installation guide can be found in this link.