Skip to content

MMC v2025 (Popcorn)

Latest
Compare
Choose a tag to compare
@fangq fangq released this 16 Feb 18:01

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

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 as sed, perl, jq to modify JSON inputs at runtime. For example mcx -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