Dear HEMLab Team,
Thanks for your open-source model as a well-established example for multi-GPU-based hydrodynamic solver.
Currently, I test the strategy of global minimum time step synchronization used in HiPIMS in our multi-thread-based model
|
dt_global = std::min(dt_global.load(), time_controller.dt()); |
And I find this strategy can not always guarantee the global minimum since read-modify-write operation can cause race conditions even for atomic variables.
In my case, this problem can cause some locally unconverged solutions during hydrodynamic simulation.
If possible, could you please check this problem in HiPIMS.
Thanks!
Dear HEMLab Team,
Thanks for your open-source model as a well-established example for multi-GPU-based hydrodynamic solver.
Currently, I test the strategy of global minimum time step synchronization used in HiPIMS in our multi-thread-based model
HiPIMS-CUDA/apps/cudaMultiGPUsFloodSolver/cuda_mgpus_flood_solver.cu
Line 342 in e6f4b94
And I find this strategy can not always guarantee the global minimum since read-modify-write operation can cause race conditions even for atomic variables.
In my case, this problem can cause some locally unconverged solutions during hydrodynamic simulation.
If possible, could you please check this problem in HiPIMS.
Thanks!