Open alwinm opened 1 year ago
With some refactoring this could also be an asynchronous call, no need for the result until the next time that timer is called.
FYI, the average reduction OneTime::End
actually does need to be an allreduce since it's used to check if that rank is particularly slow.
Currently the time reduction uses MPI_Allreduce simply because some reduction routines already existed in mpi_routines.h
This performs an extra unnecessary step of sending the result back out to all procs, but I believe only proc 0 needs the reduced data. MPI_Reduce should suffice.