Mesh-based Monte Carlo (MMC) - SSE4 and OpenCL
v2025
- Author: Qianqian Fang (q.fang at neu.edu)
- License: GNU General Public License version 3 (GPLv3)
- Version: 2.6.0 (v2025, Popcorn)
- Website: https://mcx.space/mmc
Download
- Please download pre-compiled packages from https://mcx.space/wiki/?Get
- Full ChangeLog: https://mcx.space/wiki/index.cgi?MMC/ChangeLog
- Release note: https://mcx.space/wiki/index.cgi?MMC/Doc/ReleaseNotes/v2025
What's New
MMC v2025 (2.6.0) is a maintenance release with multiple bug fixes and new features. It is highly
recommended to upgrade for all users.
MMC v2025 adds the below key features
- add photon-sharing (multi-pattern simulations) in OpenCL/GPU
- optimizing thread number on Apple silicon (M1/M2/M3/M4), gain 6x speedup
- the new
-N/--net
command line flag allows one to browse and run growing number of community-contributed
simulations hosted on https://neurojson.io (one can browse the list at https://neurojson.org/db/mmc) - mmc can read stdin (standard input) using pipe, allow one to use advanced text processing utilities in the shell,
such assed, perl, jq
to modify JSON inputs at runtime. For examplemcx -N cube60 | jq '.Forward.Dt=1e-10' | mcx -f
- a new shortcut option
-Q
for--bench
to conveniently browse and run built-in benchmarks - automatically compute initial element ID, facenb, element/nodal volume if not provided, greatly simplifying input data
- speed up facenb computation by a factor of 2x
- add
--dumpjson
flag to allow exporting simulations to a JSON file
Aside from these added new features, we have also fixed a number of bugs.
We want to particularly thank Andrea Farina (CNR-IFN) for reporting and fixing
a number of the below issues.
- fix shared memory initialization error (#101, #103)
- fix stdout not found error when building with
cudamex
target, fix various trinity/cuda compilation errors - fix replay error in trinity/cuda target (#98)
- fix double-precision saving bug in jnii/bnii (#90)
- disable SSE on arm64 Apple silicon as it is not supported
- add the missing
-H/--maxdetphoton
flag