   #[1]Monte Carlo eXtreme: GPU-based Monte Carlo Simulations

MCXCL - Monte Carlo eXtreme for OpenCL

A GPU-accelerated MC for heterogeneous computing platforms

   This work is described in the following paper

     * Leiming Yu, Fanny Nina-Paravecino, David Kaeli, Qianqian Fang,
       "[2]Scalable and massively parallel Monte Carlo photon transport
       simulations for heterogeneous computing platforms," J. Biomed. Opt.
       23(1), 010504 (2018).

          1. [3]Introduction

          2. [4]Supported Devices and Simulation Speed

          3. [5]Download

                3.1. [6]Binary package

                3.2. [7]Source code

          4. [8]Tutorial

          5. [9]Acknowledgement

1. Introduction

   MCXCL (or MCX for OpenCL) is a high-performance, highly scalable and
   general-purpose Monte Carlo photon transport simulator for biophotonics
   applications. Compared to [10]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.

2. Supported Devices and Simulation Speed

   MCXCL is supported on NVIDIA GPUs, AMD CPUs and GPUs as well as Intel
   CPUs and (integrated) GPUs. A comparison between different CPUs/GPUs in
   [11]3 benchmark problems (and [12]3 optimizations) is shown in the
   below figure. MCXCL is currently about 2x-3x slower than MCX (CUDA
   based) on NVIDIA GPUs (see the inset). This is a result of lagged
   OpenCL driver development of NVIDIA. On the other hand, MCXCL performs
   quite well on AMD and Intel processors.

   [13]upload:mcxcl_benchmark_0118.png

     * Update: 11/14/2017, added AMD Vega 64 results

3. Download

3.1. Binary package

   Pre-compiled MCXCL binary packages (preview version) for
   Linux/Windows/MacOS can be [14]downloaded here. The current preview
   package is named "mcxcl-*-git_20171108.zip".

   However, you are highly recommended to download the MCXSuite.zip
   package for each platform ([15]Linux/[16]Windows/[17]MacOS). MCXCL is
   part of the suite and easy-to-use GUI interface (MCX Studio) is
   provided to help one design new simulation and review results. After
   downloading and extracting the MCXSuite package, please start the GUI
   program by executing the "mcxsuite(.exe)" executable inside subfolder
   MCXSuite/mcxsuite/mcxsuite/.

3.2. Source code

   MCXCL is open-source! You can download the latest source code at
   [18]http://github.com/fangq/mcxcl.

4. Tutorial

   A tutorial on how to use MCX Studio GUI tool can be found below. The
   tutorial uses MCX as an example; the procedures for using MCXCL is
   almost the same, except that you need to select "NVIDIA/AMD/Intel
   CPUs/GPUs" when creating the simulation. More tutorials can be found
   [19]here.

          [20][mcxstudio_tutorial_2.png]

5. Acknowledgement

   We thank the funding support from the National Institutes of Health
   (NIH) under grants R01-GM114365 and R01-CA204443.

References

   1. http://mcx.space/wiki/index.cgi?action=rss
   2. https://www.spiedigitallibrary.org/journals/journal-of-biomedical-optics/volume-23/issue-01/010504/Scalable-and-massively-parallel-Monte-Carlo-photon-transport-simulations-for/10.1117/1.JBO.23.1.010504.full?SSO=1#ArticleLink
   3. http://mcx.space/wiki/index.cgi?MCXCL#Introduction
   4. http://mcx.space/wiki/index.cgi?MCXCL#Supported_Devices_and_Simulation_Speed
   5. http://mcx.space/wiki/index.cgi?MCXCL#Download
   6. http://mcx.space/wiki/index.cgi?MCXCL#Binary_package
   7. http://mcx.space/wiki/index.cgi?MCXCL#Source_code
   8. http://mcx.space/wiki/index.cgi?MCXCL#Tutorial
   9. http://mcx.space/wiki/index.cgi?MCXCL#Acknowledgement
  10. http://mcx.space/
  11. https://github.com/fangq/mcxcl/tree/master/example/benchmark
  12. https://github.com/fangq/mcxcl_bench/blob/master/run_benchmarking.sh#L3
  13. http://mcx.space/wiki/upload/mcxcl_benchmark_0118.png
  14. http://mcx.space/nightly/
  15. http://mcx.space/nightly/linux64/MCXSuite.zip
  16. http://mcx.space/nightly/win64/MCXSuite.zip
  17. http://mcx.space/nightly/osx64/MCXSuite.zip
  18. http://github.com/fangq/mcxcl
  19. http://mcx.sourceforge.net/cgi-bin/index.cgi?Demo/MCXStudio
  20. http://mcx.space/tutorials/mcxstudio/4_How_to_design_a_simulation_and_visualize_the_results.htm
