MCXCL - Monte Carlo eXtreme for OpenCL

A GPU-accelerated MC for heterogeneous computing platforms

This work is described in the following paper

1. Introduction
2. Supported Devices and Simulation Speed
3. Download
3.1. Binary package
3.2. Source code
4. Tutorial
5. 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 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 a long list of processors, including NVIDIA GPUs, AMD CPUs and GPUs as well as Intel CPUs and (integrated) GPUs. A comparison between different CPUs/GPUs in 3 benchmark problems (and 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.

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 (v2018) for Linux/Windows/MacOS can be downloaded here.

However, you are highly recommended to download the MCXSuite.zip package for each platform. 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. Video tutorials regarding MCXStudio can be found here.

3.2. Source code

MCXCL is open-source! You can download the latest source code at 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 here.

For tutorials to use the command line mcxcl binary, please check out the below tutorial:

http://mcx.space/wiki/index.cgi?Demo/MCXCL

5. Acknowledgement

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