Monte Carlo eXtreme (MCX) - CUDA Edition
v2025.10
- Author: Qianqian Fang (q.fang at neu.edu)
- License: GNU General Public License version 3 (GPLv3)
- Version: 2.8 (v2025.10, Kilo-Kelvin)
- Website: https://mcx.space
- Python module: https://pypi.org/project/pmcx/
Download
- Please download pre-compiled packages from https://mcx.space/wiki/?Get
- Full ChangeLog: https://mcx.space/wiki/index.cgi?Doc/ChangeLog
- Release note: https://mcx.space/wiki/index.cgi?Doc/ReleaseNotes/v2025.10
Special thanks
- We would like to thank @HirviP and @rantahar for their contributions of the new RF-replay feature added in this release (#241, #245)
- We also thank the typo fixes submitted by @ShawnSun1031 and @kuilef
What's New
MCX v2025.10 is a maintenance release with multiple bug fixes and minor new features. It is highly
recommended to upgrade for all users.
Notable new features include:
- initial international language support (i18n), including Chinese (
zh_CNandzh_TW),
French (fr_CA), Spanish (es_MX), German (de_DE), Japanese (ja_JP), Korean (ko_KR),
Hindi (hi_IN) and Portuguese (pt_BR); use--langin the command line orcfg.lang
orcfg['lang'], or use environment variableMCX_LANGto set output language; - ported additional mcx utility functions from mcxlab to pmcx, including
cwdiffusion,
cwfluxdiffusion,cwfluencediffusion,dcsg1,mcxcreate,rfreplay,rfmusreplay,
loadmc2,loadmch,loadfile,mcx2json,json2mcx,loadnii,preview,
plotshapes,plotphotons,plotvol; all new functions are unit-tested - make mcx data processing functions in
pmcxPython module pip-installable for Mac
users running on Apple silicon. The GPU simulation binary module (_pmcx) is not
supported on Apple silicon as it does not support CUDA. - use replay to produce frequency-domain Jacobians - contributed by Paulliina Hirvi and Jarno Rantaharju
This release also contains a few bug fixes, including
- fix mcxstudio incorrect 3D rendering after v2024.2 after using
_ArrayOrder_for column major data - support more than 256 media count in output JSON file
- ensure time gate can not exceed gcfg->maxgate, fix #242
- fix typos in pmcx functions
- package DLL files in the github action build script for mcxlab
The detailed updates can be found in the below change log
- 2025-10-12 [4d6ca7f] [doc] update README, tag v2025.10
- 2025-10-12 [66128fd] [ci] fix opencl generic cpu error when testing packages
- 2025-10-11 [aa62f2b] [pmcx] bump pmcx to 0.6.1
- 2025-10-10 [d20953c] [inno] installer adds paths for iso2mesh or redbird
- 2025-10-10 [02f1b75] [ci] update release test actions
- 2025-10-06 [c285125] [pmcx] bump version to 0.6.0
- 2025-10-06 [b1bd7a8] [release] update release version to v2025.10
- 2025-10-05 [334ca2a] [mcxstudio] force enabling cthreads in linux
- 2025-10-05 [7bd0c04] [mcxstudio] correctly handle ArrayOrder=c, fix --lang for mcxcl/mmc
- 2025-10-01 [e4ed8f0] [feat] use USE_MCXCL>0 to set OpenCL device, negative to set CUDA device
- 2025-09-30 [da51af2] [bug] fix bug when individually specifying srcid>0 and replaydet>0, #250
- 2025-09-30 [96a728d] [bug] output 6D array when replaying multi-src w/ srcid=-1,replaydet=-1, fix #250
- 2025-09-30 [037366e] [feat] multiple source replay
- 2025-09-28 [76f8b4d] [i18n] use --lang=ID instead of --lang
- 2025-09-28 [c9b1439] [i18n] set default lang to en
- 2025-09-28 [5adace3] [i18n] set installer language tag
- 2025-09-28 [9fa04fd] [i18n] use locale folder that is already at root
- 2025-09-28 [66afb5c] [i18n] installer also setup locale files
- 2025-09-28 [4bab8ba] [typo] fix typo
- 2025-09-28 [975329c] [i18n] support French, German, Spanish, Italian, Japanese, Korean, Portuguese and Chinese
- 2025-09-28 [dbca123] [i18n] add GUI translations
- 2025-09-27 [fda913a] [bug] support more than 256 media count in output JSON file
- 2025-09-27 [2489d22] [inno] remove unsupported language
- 2025-09-27 [0756947] [inno] enable language selection
- 2025-09-26 [3d67580] [lang] support lang in the inno installer
- 2025-09-25 [e230514] [bug] when srctype is unknown, the program can run successfully
- 2025-08-26 [84adbfc] [pmcx] bump version to 0.5.1, some fixes after new unit tests
- 2025-08-26 [e12bbef]*[pmcx] add additional unit tests
- 2025-08-25 [521fcf0] [pmcx] pmcx v0.5.0
- 2025-08-25 [501d6b3] [pmcx] bump version 0.4.6 to update macos apple silicon src
- 2025-08-24 [37c1205]*[pmcx] initial port of all remaining utils matlab functions to python
- 2025-08-24 [101f3c7] [doc] fix inaccurate descrption of the 'energy' output type
- 2025-08-24 [196d1de] [pmcx] bump pmcx version to 0.4.3
- 2025-07-20 [fbf5942]*[ci] build none-any pmcx package for Apple silicon macos
- 2025-06-01 [6752c76] [i18n] updated es_MX translations verified by Edgar Guevara
- 2025-06-01 [bdc9a79] [lang] fix some octave warnings, improve translations
- 2025-06-01 [3ebff5b] [bug] use consistent message
- 2025-06-01 [8097604] [feat] read env variable MCX_LANG to set language
- 2025-06-01 [a2c8ef5] [bug] fix typos in translations, there could be more
- 2025-06-01 [fc7c1cf] [pmcx] bump version to 0.4.2 to support cfg['lang'], print lang name
- 2025-06-01 [8ece5d6] [pmcx] fix ci error for windows, support locale in pmcx, pass test
- 2025-06-01 [70958b9] [ci] fix windows vs error, make mcx_lang const visible in c++
- 2025-06-01 [b99a33f] [ci] fix macos build error, add missing new unit in cmake
- 2025-06-01 [729fc37]*[feat] initial i18n support for international languages
- 2025-05-12 [8663b80] Fix photontof index in WPTOF calculation
- 2025-04-21 [174e35c]*[feat] further polish rf replay for mus Jacobian, close #241
- 2025-04-21 [346a638] [feat] dynamically detect the lowest supported gpu arch by nvcc
- 2025-04-18 [0b3c364] Create demo script for computing any or all of the available Jacobian types in replay mode
- 2025-04-16 [512ea26] [pmcx] fix ci build errors
- 2025-04-16 [9ec9be1] Fix typo in pmcx.cpp
- 2025-04-15 [3e8b730] fix typo cfg.issaveexit to cfg["issaveexit"]
- 2025-04-12 [0bf148c]*[bug] ensure tshift can not exceed gcfg->maxgate, fix #242
- 2025-03-18 [98c92ea] Fix undefined variable cfg, should be mcx_config.
- 2025-03-18 [c1bc350] Format updated code and simplify example
- 2025-03-18 [d94e4f4] Add terminal output types for new features.
- 2025-03-17 [0d4c892] Fix typo in cfg struct name.
- 2025-03-17 [ded9aba]*Implement computation of the total time-of-flight (TOF) and final detected weight
- 2025-03-17 [eb4b171] Implement computation of total time-of-flight (TOF)- and final detected weight
- 2025-03-14 [aa7bbdd] [doc] fix typo in mcxlab, fix mcxpreview format
- 2025-03-12 [6d60f81]*[feat] accelerate mcxpreview using isosurface, must transpose
- 2025-03-10 [2eacfb8] [example] fix rf replay script to use .jdat output, fix #239
- 2025-03-06 [4e02a5b] Add object files to gitignore
- 2025-03-06 [c7df8d9] Fix memory error by unifying handling of otRF and otRFmus
- 2025-03-06 [7e7d88b] Fix function name
- 2025-03-06 [5f7d9c6] Fix compliation errors
- 2025-02-27 [7f05c3b] Remove redundant ifdef
- 2025-02-27 [c1b7c3c] Implement RFmus calculation
- 2025-02-27 [40882be] Add RFmus output type and start implementing calculation
- 2025-02-27 [7f09134] rename new example
- 2025-02-27 [6599a1c] Added new example functions for RF scattering Jacobians.
- 2025-02-23 [986ec46] [doc] post v2025 release action, close #238