Skip to content

Commit

Permalink
mmc v2022.10
Browse files Browse the repository at this point in the history
  • Loading branch information
fangq committed Oct 8, 2022
1 parent 77411c4 commit 4c8bdae
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 9 deletions.
42 changes: 42 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,47 @@
Change Log

== MMC 1.9.6 (v2022.10, Moon Cake), Qianqian Fang <q.fang at neu.edu> ==

2022-10-01 [77411c4] using nvidia native atomicadd for float add 40% speedup
2022-09-21 [e661011] add double-buffer to solve fangq/mcx#41
2022-05-30 [c3b15b2] print detected photon number in matlab
2022-05-21 [2ea4414] disable astyle close-templates to allow gcc 4.9 to compile
2022-05-20 [d4eb92d] complete reformat of source code using astyle with 'make pretty'
2022-03-09 [f1df4bd] fix make omp linker error
2022-02-24 [658943b] move bc flags to opencl only
2021-10-24 [869c58e] fix #73, port mirror BC and absorption bc on exterior surface to GPU
2021-08-22 [2ed3213] update r->inroi only when doinit is false
2021-08-22 [33eb98a] manually patching PR #68 by Yaoshen because immc was broken
2021-06-18 [a31a85b] force output data format for both GPU and CPU
2021-06-07 [f15d137] explicitly casting variable to allow JIT compiler to work on certain drivers
2021-03-26 [929775e] update vessel demo script by Yaoshen to use the latest interface
2021-03-26 [c6ae4d7] fix vessel example photon leaking bug
2021-03-14 [c0537cc] support immc in the command line mode
2021-03-14 [c92be73] slightly optimize doinit flow
2021-03-14 [0b58920] remove init_face_inout, perform initial roi inclusion test for all roi types
2021-03-14 [c710105] search for all first-level neighbor faceroi, no need to manually set
2021-03-14 [fd3de3a] wrap implicit mmc to a reusable function,cut register use by 75%
2021-03-14 [d6b9966] fix f-immc stray voxel bug, remove fast_exp9, in DMMC, Lmove can be big
2021-03-13 [688f697] get rid of r->u and r->E to reduce register use
2021-03-13 [b667b82] rename isedgeroi to roitype
2021-03-13 [3c36f32] fix incorrect asborption fraction in immc demo
2021-03-13 [d675737] remove insideroi variable, because it should not change the current prop
2021-03-12 [49df21b] updating inroi and isedgeroi
2021-03-12 [c1795ed] more simplification to the overly complex immc new codes, not yet working
2021-03-12 [3087117] much simplified e-immc testing
2021-03-10 [e4fc100] trying to simplify the immc flow, not working yet
2021-03-09 [3057a0e] update the help info on faceroi face orders
2021-03-09 [2e18153] fixing f-immc demo bug, thanks Yaoshen
2021-03-05 [b14347c] immc example runs, but fimmc result is incorrect
2021-03-05 [9ac29ec] fix two bugs, now e-immc and n-immc demo works fine
2021-03-04 [087df42] revamping immc code
2021-03-03 [0be4a0f] make demo_immc_vesel a function to run in matlab2010
2021-03-03 [1e93a4f] fix n-immc bug, make demo_immc_basic.m example work
2021-03-03 [948bb9f] update documentation for v2021.2 release
2021-03-02 [735c9ee] fix typo in output variable name
2021-03-02 [2218ee4] replace 3 separate steps by a single s2m call
2021-03-02 [46183d8] remove unnecessarily duplicated functions, use iso2mesh functions

== MMC 1.9.5 (v2021.2, Moon Cake - RC1), Qianqian Fang <q.fang at neu.edu> ==

2021-02-26 [f2f7221] add MATLAB_MEX_FILE in the makefile for octave mex
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Mesh-based Monte Carlo (MMC) - SSE4 and OpenCL

- Author: Qianqian Fang (q.fang at neu.edu)
- License: GNU General Public License version 3 (GPL v3), see License.txt
- Version: 1.9.5 (v2021.2, Moon Cake - RC1)
- Version: 1.9.6 (v2022.10, Moon Cake)
- URL: <http://mcx.space/mmc>

[![Build Status](https://travis-ci.com/fangq/mmc.svg?branch=master)](https://travis-ci.com/fangq/mmc)
Expand Down Expand Up @@ -35,14 +35,20 @@ Table of Content:
What's New
-------------

MMC v2021.2 (1.9.5) includes a major feature upgrade - implicit MMC (iMMC) - to
MMC v2022.10 (1.9.6) includes a major feature upgrade - implicit MMC (iMMC) - to
enable simulations of highly complex anatomical structures. The details of the
iMMC algorithm, developed by Yaoshen Yuan, are described in his recent paper
[Yuan2021]. Briefly, iMMC permits one to associate cylindrical inclusions,
spherical inclusions, and thin-membrane with the edges, vertices and faces,
respectively, in a tetrahedral mesh. Currently, this feature is only supported
on the CPU (must be used with `-G -1` or `cfg.gpuid=-1`).

In 2020, we have also merged the `mmc-trinity` branch to the main code tree.
The "trinity" version of MMC simultaneously supports CPU/SSE4, OpenCL and CUDA
as the compute-backend, and can be selected using `--compute opencl|sse|cuda`
command line flag. By default, we do not compile the CUDA editor in the binary.
However, users can compile the "trinity" binary by `make cuda`.

A detailed (long) list of updates can be found in the ChangeLog.txt or the
Github commit history: <https://github.com/fangq/mmc/commits/master>

Expand Down
12 changes: 9 additions & 3 deletions README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

*Author: Qianqian Fang <q.fang at neu.edu>
*License: GNU General Public License version 3 (GPL v3), see License.txt
*Version: 1.9.5 (v2021.2, Moon Cake - RC1)
*Version: 1.9.6 (v2022.10, Moon Cake)
*URL: http://mcx.space/mmc

---------------------------------------------------------------------
Expand All @@ -19,13 +19,19 @@ Table of Content:

== # What's New ==

MMC v2021.2 (1.9.5) includes a major feature upgrade - implicit MMC (iMMC) - to
MMC v2022.10 (1.9.6) includes a major feature upgrade - implicit MMC (iMMC) - to
enable simulations of highly complex anatomical structures. The details of the
iMMC algorithm, developed by Yaoshen Yuan, are described in his recent paper
[Yuan2021]. Briefly, iMMC permits one to associate cylindrical inclusions,
spherical inclusions, and thin-membrane with the edges, vertices and faces,
respectively, in a tetrahedral mesh. Currently, this feature is only supported
on the CPU (must be used with `-G -1` or `cfg.gpuid=-1`).
on the CPU (must be used with `-G -1` or `cfg.gpuid=-1`).

In 2020, we have also merged the `mmc-trinity` branch to the main code tree.
The "trinity" version of MMC simultaneously supports CPU/SSE4, OpenCL and CUDA
as the compute-backend, and can be selected using `--compute opencl|sse|cuda`
command line flag. By default, we do not compile the CUDA editor in the binary.
However, users can compile the "trinity" binary by `make cuda`.

A detailed (long) list of updates can be found in the ChangeLog.txt or the
Github commit history: <https://github.com/fangq/mmc/commits/master>
Expand Down
6 changes: 5 additions & 1 deletion Reference.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,8 @@ $Download: https://www.biorxiv.org/content/10.1101/2020.02.16.951590v2

# [Yuan2021] Yaoshen Yuan, Shijie Yan, and Qianqian Fang*, "Light transport modeling in highly complex tissues using the implicit mesh-based Monte Carlo algorithm," Biomed. Optics Express, 12(1), 147-161, (2021)
$Summary: Implicit MMC (iMMC)
$Download: https://www.osapublishing.org/boe/fulltext.cfm?uri=boe-12-1-147
$Download: https://www.osapublishing.org/boe/fulltext.cfm?uri=boe-12-1-147

# [Zhang2022] Yuxuang Zhang, Qianqian Fang*, "BlenderPhotonics - an integrated open-source software environment for three-dimensional meshing and photon simulations in complex tissues," J. of Biomedical Optics, 27(8), 083014 (2022)
$Summary: BlenderPhotonics
$Download: https://doi.org/10.1117/1.JBO.27.8.083014
6 changes: 3 additions & 3 deletions src/mmc_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -2909,7 +2909,7 @@ void mcx_savedetphoton(float* ppath, void* seeds, int count, int doappend, mccon
*/

void mcx_version(mcconfig* cfg) {
MMC_ERROR(MMC_INFO, "MMC $Rev:: $v2021.2");
MMC_ERROR(MMC_INFO, "MMC $Rev:: $v2022.10");
}

/**
Expand All @@ -2922,15 +2922,15 @@ void mcx_printheader(mcconfig* cfg) {
MMC_FPRINTF(cfg->flog, S_YELLOW"\
###############################################################################\n\
# Mesh-based Monte Carlo (MMC) - OpenCL #\n\
# Copyright (c) 2010-2020 Qianqian Fang <q.fang at neu.edu> #\n\
# Copyright (c) 2010-2022 Qianqian Fang <q.fang at neu.edu> #\n\
# http://mcx.space/#mmc #\n\
# #\n\
#Computational Optics & Translational Imaging (COTI) Lab [http://fanglab.org]#\n\
# Department of Bioengineering, Northeastern University, Boston, MA, USA #\n\
# #\n\
# Research funded by NIH/NIGMS grant R01-GM114365 #\n\
###############################################################################\n\
$Rev:: $v2021.2$Date:: $ by $Author:: $\n\
$Rev:: $v2022.10$Date:: $ by $Author:: $\n\
###############################################################################\n"S_RESET);
}

Expand Down

0 comments on commit 4c8bdae

Please sign in to comment.