Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
8663b80
Fix photontof index in WPTOF calculation
rantahar May 12, 2025
05f7d3d
Merge pull request #245 from HirviP/master
fangq May 13, 2025
729fc37
[feat] initial i18n support for international languages
fangq Jun 1, 2025
b99a33f
[ci] fix macos build error, add missing new unit in cmake
fangq Jun 1, 2025
70958b9
[ci] fix windows vs error, make mcx_lang const visible in c++
fangq Jun 1, 2025
8ece5d6
[pmcx] fix ci error for windows, support locale in pmcx, pass test
fangq Jun 1, 2025
fc7c1cf
[pmcx] bump version to 0.4.2 to support cfg['lang'], print lang name
fangq Jun 1, 2025
a2c8ef5
[bug] fix typos in translations, there could be more
fangq Jun 1, 2025
8097604
[feat] read env variable MCX_LANG to set language
fangq Jun 1, 2025
3ebff5b
[bug] use consistent message
fangq Jun 1, 2025
bdc9a79
[lang] fix some octave warnings, improve translations
fangq Jun 1, 2025
6752c76
[i18n] updated es_MX translations verified by Edgar Guevara
fangq Jun 2, 2025
fbf5942
[ci] build none-any pmcx package for Apple silicon macos
fangq Jul 20, 2025
a90e9cd
[ci] replace all retired github runners
fangq Jul 30, 2025
122c053
[ci] install vs 2019 on windows-2022
fangq Jul 30, 2025
847df68
[pmcx] update pybind to 2.10.4
fangq Aug 21, 2025
a71b3ed
[ci] try to fix windows-2022 runner error
fangq Aug 22, 2025
8a00680
[ci] more fix to windows path
fangq Aug 22, 2025
7569c61
[ci] upgrade cuda to 10 for windows pmcx build
fangq Aug 22, 2025
bd4b690
[ci] fix pmcx windows build error
fangq Aug 22, 2025
65e58ef
[ci] debug windows build errors
fangq Aug 23, 2025
a2a3e30
[ci] further debug windows ci
fangq Aug 23, 2025
ebead6b
[ci] try to fix cmd /s double quote issue
fangq Aug 23, 2025
0ef60c7
[ci] let mex.bat find vs 2019
fangq Aug 23, 2025
d691ffb
[ci] fix vs path
fangq Aug 24, 2025
196d1de
[pmcx] bump pmcx version to 0.4.3
fangq Aug 24, 2025
4bfe4ee
[ci] reupload binary modules for non macos-14
fangq Aug 24, 2025
101f3c7
[doc] fix inaccurate descrption of the 'energy' output type
fangq Aug 24, 2025
37c1205
[pmcx] initial port of all remaining utils matlab functions to python
fangq Aug 25, 2025
7284389
[ci] upload all mcx packages
fangq Aug 25, 2025
501d6b3
[pmcx] bump version 0.4.6 to update macos apple silicon src
fangq Aug 25, 2025
521fcf0
[pmcx] pmcx v0.5.0
fangq Aug 25, 2025
e12bbef
[pmcx] add additional unit tests
fangq Aug 26, 2025
84adbfc
[pmcx] bump version to 0.5.1, some fixes after new unit tests
fangq Aug 26, 2025
b56f92b
[doc] prepare for v2025.9 release
fangq Sep 20, 2025
e230514
[bug] when srctype is unknown, the program can run successfully
ShawnSun1031 Sep 24, 2025
4673c7b
add readme and changelog
ShawnSun1031 Sep 24, 2025
0a5884f
[test] add test case for unknown source type
ShawnSun1031 Sep 24, 2025
da82937
Merge pull request #249 from ShawnSun1031/fix-wrong-source-type-not-r…
fangq Sep 24, 2025
3d67580
[lang] support lang in the inno installer
fangq Sep 27, 2025
0756947
[inno] enable language selection
fangq Sep 27, 2025
2489d22
[inno] remove unsupported language
fangq Sep 27, 2025
fda913a
[bug] support more than 256 media count in output JSON file
fangq Sep 20, 2025
dbca123
[i18n] add GUI translations
fangq Sep 28, 2025
975329c
[i18n] support French, German, Spanish, Italian, Japanese, Korean, Po…
fangq Sep 28, 2025
4bab8ba
[typo] fix typo
fangq Sep 28, 2025
66afb5c
[i18n] installer also setup locale files
fangq Sep 28, 2025
9fa04fd
[i18n] use locale folder that is already at root
fangq Sep 28, 2025
5adace3
[i18n] set installer language tag
fangq Sep 28, 2025
c9b1439
[i18n] set default lang to en
fangq Sep 28, 2025
76f8b4d
[i18n] use --lang=ID instead of --lang
fangq Sep 28, 2025
037366e
[feat] multiple source replay
fangq Sep 30, 2025
96a728d
[bug] output 6D array when replaying multi-src w/ srcid=-1,replaydet=…
fangq Sep 30, 2025
da51af2
[bug] fix bug when individually specifying srcid>0 and replaydet>0, #250
fangq Oct 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 19 additions & 6 deletions .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
name: Build All
strategy:
matrix:
os: [ubuntu-22.04, macos-13, windows-2019]
os: [ubuntu-22.04, macos-13, windows-2022]
runs-on: ${{ matrix.os }}
defaults:
run:
Expand Down Expand Up @@ -69,6 +69,19 @@ jobs:
echo 'C:\ProgramData\Chocolatey\lib\mingw\tools\install\mingw64\bin\' >> $GITHUB_PATH
echo 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\' >> $GITHUB_PATH
echo 'MW_MINGW64_LOC=/c/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/' >> $GITHUB_ENV
- name: Install Visual Studio 2019 Build Tools (for cuda 10)
if: ${{ matrix.os == 'windows-2022' }}
run: |
choco install visualstudio2019community --package-parameters "--add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK"
- name: Setup MSVC environment (Windows only)
shell: cmd
if: ${{ runner.os == 'Windows' }}
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
echo PATH=%PATH% >> %GITHUB_ENV%
echo INCLUDE=%INCLUDE% >> %GITHUB_ENV%
echo LIB=%LIB% >> %GITHUB_ENV%
echo VCINSTALLDIR=%VCINSTALLDIR% >> %GITHUB_ENV%
- name: Install CUDA (Linux only)
if: ${{ runner.os == 'Linux' }}
run: |
Expand Down Expand Up @@ -100,7 +113,7 @@ jobs:
uses: Jimver/cuda-toolkit@v0.2.10
id: cuda-toolkit
with:
cuda: '9.2.148'
cuda: '10.2.89'
method: 'network'
sub-packages: '["nvcc"]'
- name: Link libgomp.a (MacOS only)
Expand Down Expand Up @@ -132,7 +145,7 @@ jobs:
make oct CC=gcc-10 CXX=g++-10 USEROCTOPT="CXXFLAGS='-pipe -Os -arch x86_64' DL_LD=g++-10 DL_LDFLAGS='-fopenmp -static-libgcc -static-libstdc++'"
otool -L ../mcxlab/mcx.mex
else
ln -s "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2" cuda
ln -s "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2" cuda
make oct INCLUDEDIRS="-I./cuda/include" CUDA_PATH="./cuda" XTRA_CFLAGS='-openmp' XTRA_CXXFLAGS='-openmp' INCLUDEDIR=' '
objdump -p ../mcxlab/mcx.mex | grep "DLL Name:"
fi
Expand Down Expand Up @@ -198,7 +211,7 @@ jobs:
zip -FSr --symlink packages/mcxlab-${{ env.RELEASE_TAG }}.zip mcxlab
fi
- name: Upload mcxlab package
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-13' || matrix.os == 'windows-2019' }}
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-13' || matrix.os == 'windows-2022' }}
uses: actions/upload-artifact@v4
with:
name: all-mcxlab-packages-${{ env.RELEASE_TAG }}
Expand Down Expand Up @@ -230,7 +243,7 @@ jobs:
zip -FSr --symlink mcx/packages/mcx-${{ env.RELEASE_TAG }}.zip mcx -x 'mcx/packages*'
fi
- name: Upload mcx package
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-13' || matrix.os == 'windows-2019' }}
if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-13' || matrix.os == 'windows-2022' }}
uses: actions/upload-artifact@v4
with:
name: all-mcx-packages-${{ env.RELEASE_TAG }}
Expand All @@ -245,7 +258,7 @@ jobs:
- name: Download mcx
uses: actions/download-artifact@v4
with:
pattern: all-mcxlab-packages-*
pattern: all-mcx*
merge-multiple: true
path: packages
- name: Create all-in-one octave mcxlab
Expand Down
74 changes: 74 additions & 0 deletions .github/workflows/build_macos_arm64_wheel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Build+Upload MacOS Apple Silicon Python Wheels
on:
push:
branches:
- master
tags:
- '*'
pull_request:
branches:
- master


jobs:
build_macos_wheels:
if: false
name: Build macOS wheels
runs-on: macos-14
strategy:
matrix:
python_version: [ '3.12' ]
outputs:
perform_pypi_upload: ${{ steps.perform_pypi_upload_check.outputs.perform_pypi_upload }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Update RCS keywords
shell: bash
run: |
printf '\n[filter "rcs-keywords"]\n\tclean = .git_filters/rcs-keywords.clean\n\tsmudge = .git_filters/rcs-keywords.smudge %f\n' >> .git/config
rm -rf src/*.c
git checkout src/*.c
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version }}
- name: Build Wheels
run: |
cd pmcx/
perl -pi -e 's/^\s+(ext_modules|cmdclass)/#$1/g' setup.py
python -m pip install --upgrade pip
pip install wheel setuptools
pip wheel . -w ../dist/ --verbose
ls ../dist/
cd ../
- name: Check If the Build Version Exists on PyPI
id: perform_pypi_upload_check
run: |
bash $GITHUB_WORKSPACE/.github/check-pypi-upload.sh
- name: Prepare Wheels for Upload
uses: actions/upload-artifact@v4
with:
name: macos-wheels-${{ matrix.os }}-${{ matrix.python_version }}
path: dist/

upload_macos_wheels:
needs: build_macos_wheels
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'fangq' && needs.build_macos_wheels.outputs.perform_pypi_upload == 1 && github.event_name != 'pull_request'}}
steps:
- name: Download Wheels from Build Job
uses: actions/download-artifact@v4
with:
pattern: macos-wheels-*
merge-multiple: true
path: dist/
- name: Upload packages to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
verify_metadata: false
verbose: true
skip_existing: true
19 changes: 17 additions & 2 deletions .github/workflows/build_windows_wheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ on:
jobs:
build_windows_wheels:
name: Build Windows wheels
runs-on: windows-2019
runs-on: windows-2022
strategy:
matrix:
python_version: [ '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', 'pypy3.7', 'pypy3.8', 'pypy3.9', 'pypy3.10']
python_version: [ '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', 'pypy3.7', 'pypy3.8', 'pypy3.9', 'pypy3.10']
outputs:
perform_pypi_upload: ${{ steps.perform_pypi_upload_check.outputs.perform_pypi_upload }}
steps:
Expand All @@ -34,6 +34,18 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python_version }}
- name: Install Visual Studio 2019 Build Tools (for cuda 10)
run: |
choco install visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64" -y
- name: Setup MSVC environment (Windows only)
shell: cmd
if: ${{ runner.os == 'Windows' }}
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
echo PATH=%PATH% >> %GITHUB_ENV%
echo INCLUDE=%INCLUDE% >> %GITHUB_ENV%
echo LIB=%LIB% >> %GITHUB_ENV%
echo VCINSTALLDIR=%VCINSTALLDIR% >> %GITHUB_ENV%
- name: Install CUDA
uses: Jimver/cuda-toolkit@v0.2.10
id: cuda-toolkit
Expand All @@ -54,6 +66,9 @@ jobs:
echo "CMAKE_LIBRARY_PATH=$PWD\zlib\lib" >> $env:GITHUB_ENV
rm zlib.zip
- name: Build Wheels
env:
CMAKE_GENERATOR: "Visual Studio 16 2019"
CMAKE_GENERATOR_PLATFORM: "x64"
run: |
cd pmcx/
pip install wheel setuptools
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
name: Release package tests
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-13, macos-14, windows-2019, windows-2022]
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14, windows-2022, windows-2022]
runs-on: ${{ matrix.os }}
defaults:
run:
Expand Down
51 changes: 48 additions & 3 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,53 @@

Major updates are marked with a "*"

== MCX v2025.6.pre (Kilo-Kelvin - 2.8), FangQ <q.fang (a) neu.edu> ==
== MCX v2025.9 (Kilo-Kelvin - 2.8), FangQ <q.fang (a) neu.edu> ==
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


== MCX v2025 (Jumbo Jolt - 2.6), FangQ <q.fang (a) neu.edu> ==
Expand Down Expand Up @@ -44,7 +90,6 @@ Major updates are marked with a "*"
2024-11-08 [ee5be15] [feat] make onecube benchmark maskdet work, fix --dumpmask
2024-11-08 [f2d3bc4] [feat] support 1x1x1 volume, add onecube/twocube benchmarks, det not working
2024-11-06 [eaafb0b] [feat] disabling issaveref if issave2pt is false
2024-10-14 [6dbcc0f] Merge pull request #234 from epini/epini-patch-1
2024-10-09 [0411ec6] Fix data ordering in traj.iquv
2024-09-25 [8c0cfec] [pmcx] bump up pmcx version to 0.3.5 after fixing #233
2024-09-25 [58dec12] [bug] angleinvcdf and invcdf are not read in full in pmcx, fix #233
Expand Down Expand Up @@ -78,7 +123,7 @@ Major updates are marked with a "*"
2024-03-18 [94961f3] [bug] return source ID in multi-source simulation, fix #217
2024-03-17 [3c3d755] [release] post v2024.2 release action, close #216
2024-03-17 [7902a4e] [mcxcloud] update docker image to v2024.2
2024-03-15 [08bfe11] [feat] support _ArrayData_ in Shapes volume input
2024-03-15 [08bfe11]*[feat] support _ArrayData_ in Shapes volume input

== MCX v2024.2 (Interstellar Ion - 2.2), FangQ <q.fang (a) neu.edu> ==

Expand Down
Loading
Loading