celeritas-project / celeritas

Celeritas is a new Monte Carlo transport code designed to accelerate scientific discovery in high energy physics by improving detector simulation throughput and energy efficiency using GPUs.
https://celeritas-project.github.io/celeritas/
Other
64 stars 35 forks source link

Add global MPI communicator and refactor some internals #1428

Closed sethrj closed 1 month ago

sethrj commented 1 month ago

This is in preparation for an "end run gather" and other possible synchronization points for multiprocess tallying using MPI in addition to OpenMP/CUDA. (See #261 ) I've adjusted the code to hide the dependence on MPI from downstream codes, and added a shared "comm_world()" as well as an MPI communicator that stays with the shared params.

github-actions[bot] commented 1 month ago

Test summary

 3 249 files   5 047 suites   3m 42s :stopwatch:  1 520 tests  1 493 :white_check_mark: 27 :zzz: 0 :x: 16 838 runs  16 776 :white_check_mark: 62 :zzz: 0 :x:

Results for commit a3d71e98.

:recycle: This comment has been updated with latest results.

sethrj commented 1 month ago

@tmdelellis This is in preparation for some of the work to be done with @sphamil.