[MCX Announcement] Announcing MCX/MCX-CL/MMC v2023 - a new milestone has achieved!

Skip to first unread message

Qianqian Fang

Oct 1, 2023, 3:00:22 PM10/1/23
to mcx-...@googlegroups.com, MCX-...@listserv.neu.edu, mcx-users, mmc-...@googlegroups.com, Matin Raayai Ardakani, Shijie Yan, Hirvi Pauliina, Fan-Yu Yen, Prof. David Kaeli, Steven Jacques

(You received this message because you are a registered user of MCX (https://mcx.space) - an open-source Monte Carlo photon transport simulator - and had indicated that you wanted to be notified for future updates in your registration form. If you are no longer interested in this software, please feel free to click on the unsubscribe link at the bottom of this email. In that case, we apologize for the inconvenience.)

Dear MCX/MMC registered users,

The MCX development team proudly present you with MCX/MCX-CL/MMC v2023, a new milestone in our endeavor of pushing the frontier of state-of-the-art GPU photon simulation methods and tools!

Everyone is strongly encouraged to upgrade to the new releases. Please browse the following link to see all download options:


This new release has accumulated a significant amount of work we have developed over the last 2 years. They are unreserved translation of at least 5 new papers that we published recently, including

- SVMC (split-voxel MC) MCX, by Shijie Yan

- GPU polarized light simulation in MCX, by Shijie Yan (in collaboration with Dr. Steve Jacques)

- Implicit MMC, by Yaoshen Yuan

- RF replay by Pauliina Hirvi et al.

- MCX Cloud front- and backend

Aside from our mission of advancing Monte Carlo simulation techniques, as an open-source project, we have placed accessibility and usability of our tools at the heart of our development, and spent significant effort to make our software easy-to-use, easy-to-install and broadly available, especially, we would like to highlight a number of major new efforts:

- Python bindings for mcx (pmcx - https://pypi.org/project/pmcx/, see interactive tutorials), ported by Matin Raayai Ardakani
- Python bindings for mcxcl (pmcxcl - https://pypi.org/project/pmcxcl/), by Matin and myself
- mcxlab-like data analysis functions for Python, including pmcx.meanpath, pmcx.detweight, pmcx.mcxlab etc, ported by Fan-Yu (Ivy) Yen
- added all-in-one mex packages for mcxlab/mcxlabcl/mmclab, including Octave 8.x mex files for mmc/mcxcl for Linux/Mac/Windows, and for mcxlab on Linux/Mac (for Mac/Windows, the mex file only works on 8.x, because it needs a version-specific dll)
- more efficient ray-marching algorithm on mcx, could bring up to 30% speed up in some benchmarks
- about 30%-40% speed-up for OpenCL-based mcxcl/mmc on NVIDIA GPUs by using low-level PTX based atomic functions
- first public announcement of mmc-trinity - a special effort of making mmc and mmclab run on 3 backends - SSE/CPU, OpenCL and CUDA - in a single package, facilitating adoption and comparisons
- complete migration to Github Action for fully automated continuous-integration/continuous-delivery (CI/CD), with the latest packages continuously built at https://mcx.space/nightly/github/
- many bug fixes

In 2021, we publicly announced MCX Cloud (https://mcx.space/cloud/), an open-source cloud-computing service that is freely available to our user community, allowing users who do not have GPUs to use our tool and run fast simulations in their web browsers. Over the past 2 years, we have received over 8640 submitted simulations from 827 unique IP addresses from 42 countries, 291 cities and 6 continents (see attached IP map). We are committed to continue providing this valuable resource to our user community, and will soon move this service out of the Beta state. As part of this move, we have already upgraded the MCX docker images used in the backend to v2023. All simulations submitted today and on-ward will be automatically using the latest release (unless they are previous cached built-in examples).

Another notable step taken in this release is the complete migration of our input/output format to human-readable JSON based data format to ease storage, exchange and reuse of complex scientific data. This is a result of a parallel NIH-funded effort, named NeuroJSON (https://neurojson.org/) awarded to the Fang Lab in 2021. We will make separate announcements regarding how to take advantage of this new vision and effort to facilitate your publication and sharing of research data, especially those doing fNIRS and neuroimaging research. Stay tuned for our announcement!

Enjoy our new and enhanced software and let us hear your thoughts, feedback, and suggestions.


Qianqian Fang, on behalf of all MCX developers

Reply all
Reply to author
0 new messages