hi Anthony,
this is a known behavior. see our comment in mmc's replay example
(mcx-replay is similar)
https://github.com/fangq/mmc/blob/v2024.2/mmclab/example/demo_example_replay.m#L61-L68
when running simulations in a multi-threaded environment, the output order could be different - this is because the execution order of the threads many not be exactly reproduced between multiple runs. This makes the output data shuffle the orders.
however, if you call ismember, you could see that the two outputs
are actually identical.
all(ismember(ppl1, ppl2, 'rows'))
Qianqian
--
You received this message because you are subscribed to the Google Groups "mcx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mcx-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mcx-users/fed1b359-6c07-4830-97da-838aa4125a91n%40googlegroups.com.
hi Paullina,
glad to hear from you! thanks for pointing out this discrepancy.
I confirm that the default RNG seed is 1648335518 (if user does not do set -E/--seed or cfg.seed).
if user sets -E/--seed to 0 or any negative number (except -999 - used internally for replay .mch input), then mcx uses the current system clock as seed (thus result is not reproducible)
https://github.com/fangq/mcx/blob/v2024.2/src/mcx_core.cu#L3115-L3119
I have updated the documentation to reflect this default behavior
with the following two commits
https://github.com/fangq/mcx/commit/fd2db485d9ad29ba4c999b1af1f5d18eaf46a3be
https://github.com/fangq/mcx/commit/3c480b6f69840a3e49046fda943f6bf3e6e762a6
let me know if I miss any other documentation on this.
Qianqian
To view this discussion on the web visit https://groups.google.com/d/msgid/mcx-users/AS8P192MB1320CE426879556B8916985EE9BF2%40AS8P192MB1320.EURP192.PROD.OUTLOOK.COM.