Showing revision 1

Release Notes for Monte Carlo eXtreme - OpenCL v2019.3

code name: Eternity, released on March 18, 2019

Click this link to download MCX-CL/MCXLAB-CL v2019.3

Acknowledgement: This software release is made possible with the funding support from the NIH/NIGMS under grant R01-GM114365.

1. Introduction
2. About this release
3. System requirements
4. Features that are available on MCX but not yet ported to MCXLAB
5. Reference

1. Introduction

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.

2. About this release

MCXCL/MCXLAB-CL v0.9 contains a [MCXCL/ChangeLog list of important new features as well as bug fixes].

Over the past two years, we have gradually ported all key features from MCX to MCXCL, including

  1. !!key!! port complex source support from mcx
  2. !!key!! accept full json input in the command line
  3. !!key!! port saveref from mcx to save diffuse reflectance
  4. !!key!! fix floating point accummulation error, port from mcx #41
  5. !!key!! changes to compile mcxcl.mex using mingw64 g++ on Windows
  6. !!key!! port progress bar from mcx (AMD device only)
  7. !!key!! port mcxlab as mcxlabcl
  8. !!key!! integer media,savenii,mcxstudio flags
  9. incorporate Leiming's workgroup load-balancing,simulate exact photon number
  10. auto tune AMD autothread number and Intel GPU thread numbers

Pre-compiled MCXCL and MCXLAB-CL binaries are provided for Windows, Linux and Mac OS.

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

3. System requirements

In all cases, the OpenCL library (libOpenCL.so*, OpenCL.dll or /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL on the Mac) must be preinstalled in your system. Typically, these libraries are automatically installed after you installed your integrated or discrete GPU graphics driver.

The lowest OpenCL support version is OpenCL 1.0. Essentially, nearly all OpenCL compliant processors can run MCXCL/MCXLAB-CL.

Step-by-step installation guide can be found in this link.

4. Features that are available on MCX but not yet ported to MCXLAB

The below features have not yet been ported to MCXCL:

  • Photon replay for building Jacobians
  • storing photon trajectory data
  • saving momentum transfer for DCS simulations
  • displaying progress bar on NVIDIA/Intel processors

we are working hard to port these features to MCXCL and MCXLABCL.

5. Reference

Powered by Habitat