ENH: Pstream specialization for float/scalar, FixedList (#2351)
- native MPI min/max/sum reductions for float/double irrespective of WM_PRECISION_OPTION - native MPI min/max/sum reductions for (u)int32_t/(u)int64_t types, irrespective of WM_LABEL_SIZE - replace rarely used vector2D sum reduction with FixedList as a indicator of its intent and also generalizes to different lengths. OLD: vector2D values; values.x() = ...; values.y() = ...; reduce(values, sumOp<vector2D>()); NEW: FixedList<scalar,2> values; values[0] = ...; values[1] = ...; reduce(values, sumOp<scalar>()); - allow returnReduce() to use native reductions. Previous code (with linear/tree selector) would have bypassed them inadvertently. ENH: added support for MPI broadcast (for a memory span) ENH: select communication schedule as a static method - UPstream::whichCommunication(comm) to select linear/tree communication instead of ternary or if (Pstream::nProcs() < Pstream::nProcsSimpleSum) ... STYLE: align nProcsSimpleSum static value with etc/controlDict override
Showing
- applications/test/parallel-communicators/Test-parallel-communicators.C 0 additions, 10 deletions...test/parallel-communicators/Test-parallel-communicators.C
- src/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineReduceOps.H 7 additions, 38 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/PstreamCombineReduceOps.H
- src/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H 161 additions, 142 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/PstreamReduceOps.H
- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.C 2 additions, 2 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/UPstream.C
- src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H 37 additions, 7 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/UPstream.H
- src/OpenFOAM/db/IOstreams/Pstreams/combineGatherScatter.C 40 additions, 115 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/combineGatherScatter.C
- src/OpenFOAM/db/IOstreams/Pstreams/gatherScatter.C 3 additions, 17 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/gatherScatter.C
- src/OpenFOAM/db/IOstreams/Pstreams/gatherScatterList.C 3 additions, 17 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/gatherScatterList.C
- src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C 4 additions, 14 deletions...erUncollatedFileOperation/masterUncollatedFileOperation.C
- src/OpenFOAM/global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C 2 additions, 7 deletions...rations/uncollatedFileOperation/uncollatedFileOperation.C
- src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverScale.C 10 additions, 10 deletions...penFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverScale.C
- src/Pstream/dummy/Make/files 2 additions, 0 deletionssrc/Pstream/dummy/Make/files
- src/Pstream/dummy/UPstream.C 2 additions, 95 deletionssrc/Pstream/dummy/UPstream.C
- src/Pstream/dummy/UPstreamBroadcast.C 45 additions, 0 deletionssrc/Pstream/dummy/UPstreamBroadcast.C
- src/Pstream/dummy/UPstreamReduce.C 153 additions, 0 deletionssrc/Pstream/dummy/UPstreamReduce.C
- src/Pstream/mpi/Make/files 2 additions, 0 deletionssrc/Pstream/mpi/Make/files
- src/Pstream/mpi/PstreamGlobals.H 3 additions, 5 deletionssrc/Pstream/mpi/PstreamGlobals.H
- src/Pstream/mpi/UPstream.C 12 additions, 285 deletionssrc/Pstream/mpi/UPstream.C
- src/Pstream/mpi/UPstreamBroadcast.C 93 additions, 0 deletionssrc/Pstream/mpi/UPstreamBroadcast.C
- src/Pstream/mpi/UPstreamReduce.C 211 additions, 0 deletionssrc/Pstream/mpi/UPstreamReduce.C
Please register or sign in to comment