Skip to content

First version of an abstract reduce function

Dominik Thoennes requested to merge thoennes/abstract-collective-operation into master

This MR introduces an abstract reduce function which could replace e.g. the getMaxValue function.

The std::function might reduce the runtime of the function. I made some benchmarks with the allGather version of this.

Here is the average runtime in seconds per process for a very simple benchmark which performs the getMaxValue 1000 times with 4608 processes (64 nodes * 72 cores). Note: l

getMaxValue w.o. MPI abstract getMaxValue w.o. MPI
first run 0.20 s 0.12 s 0.63 s 0.17 s
second run 0.17 s 0.12 s 0.61 s 0.17 s

When using allReduce instead of allGather these are numbers for commit 6e12c653. again 1000 times with 4608 processes (64 nodes * 72 cores)

getMaxValue w.o. MPI abstract getMaxValue w.o. MPI
first run 0.18 s 0.11 s 0.22 s 0.14 s
second run 0.20 s 0.11 s 0.21 s 0.14 s
Edited by Dominik Thoennes

Merge request reports