-
- Downloads
ENH: globalIndex gather ops with reduced communication (#2332)
- for contiguous data, added mpiGatherOp() to complement the gatherOp() static method - the gather ops (static methods) populate the globalIndex on the master only (not needed on other procs) for reduced communication - rename inplace gather methods to include 'inplace' in their name. Regular gather methods return the gathered data directly, which allows the following: const scalarField mergedWeights(globalFaces().gather(wghtSum)); vs. scalarField mergedWeights; globalFaces().gather(wghtSum, mergedWeights()); or even: scalarField mergedWeights; List<scalarField> allWeights(Pstream::nProcs()); allWeights[Pstream::myProcNo()] = wghtSum; Pstream::gatherList(allWeights); if (Pstream::master()) { mergedWeights = ListListOps::combine<scalarField> ( allWeights, accessOp<scalarField>() ); } - add parRun guards on various globalIndex gather methods (simple copies or no-ops in serial) to simplify the effort for callers.
parent
6b99fea4
No related branches found
No related tags found
Showing
- applications/test/globalIndex/Test-globalIndex.C 16 additions, 13 deletionsapplications/test/globalIndex/Test-globalIndex.C
- src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C 10 additions, 1 deletionsrc/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.C
- src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H 208 additions, 55 deletionssrc/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndex.H
- src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexI.H 0 additions, 6 deletionssrc/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexI.H
- src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C 400 additions, 263 deletions...OAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C
Loading
Please register or sign in to comment