Dk/add distributed benchmark#5591
Conversation
MPI is already a dependency of Oceananigans so we can just load it normally
Since the macros return the expression in the sequential case, there is no need to duplicate the output code
|
@simone-silvestri I've gone through and implemented the changes you suggested. I also took a lot of the output handling code out of the if statement, since we now use the macros - could you check that the logic is correct/unchanged? |
|
Seems to be correct to me. The only caution with using the macros is not to nest them (otherwise we hit a deadlock since all the macros have a barrier at the end) |
| "--partition" | ||
| help = "Partition for distributed architecture as Rx x Ry x Rz (e.g., 2x2x1). Ignored unless --distributed is set." | ||
| arg_type = String | ||
| default = "2x2x1" |
There was a problem hiding this comment.
I think this is a bit loose. More of an example than a robust default
There was a problem hiding this comment.
I think we can improve on it as we work on load balancing and add new partitions. I think it is probably ok for the time being?
|
At the moment we have the benchmark pipeline running on two reserved tartarus GPUS (GPU 0 and GPU 2), we could maybe add one mpi test to the pipeline with just 2 ranks to verify it works and keep it running. |
Add option to run benchmarks distributed. Is invoked by adding
--distributedflag and providing the desiredpartition.