-
- Downloads
ENH: additional control and access methods for PstreamBuffers
- PstreamBuffers nProcs() and allProcs() methods to recover the rank information consistent with the communicator used for construction - allowClearRecv() methods for more control over buffer reuse For example, pBufs.allowClearRecv(false); forAll(particles, particlei) { pBufs.clear(); fill... read via IPstream(..., pBufs); } This preserves the receive buffers memory allocation between calls. - finishedNeighbourSends() method as compact wrapper for finishedSends() when send/recv ranks are identically (eg, neighbours) - hasSendData()/hasRecvData() methods for PstreamBuffers. Can be useful for some situations to skip reading entirely. For example, pBufs.finishedNeighbourSends(neighProcs); if (!returnReduce(pBufs.hasRecvData(), orOp<bool>())) { // Nothing to do continue; } ... On an individual basis: for (const int proci : pBufs.allProcs()) { if (pBufs.hasRecvData(proci)) { ... } } Also conceivable to do the following instead (nonBlocking only): if (!returnReduce(pBufs.hasSendData(), orOp<bool>())) { // Nothing to do pBufs.clear(); continue; } pBufs.finishedNeighbourSends(neighProcs); ...
Showing
- applications/test/processorTopology/Make/files 3 additions, 0 deletionsapplications/test/processorTopology/Make/files
- applications/test/processorTopology/Make/options 2 additions, 0 deletionsapplications/test/processorTopology/Make/options
- applications/test/processorTopology/Test-processorTopology.C 113 additions, 0 deletionsapplications/test/processorTopology/Test-processorTopology.C
- applications/utilities/parallelProcessing/redistributePar/parLagrangianRedistributor.C 8 additions, 12 deletions...elProcessing/redistributePar/parLagrangianRedistributor.C
- src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C 2 additions, 4 deletions...AM/db/IOobjects/decomposedBlockData/decomposedBlockData.C
- src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C 102 additions, 12 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.C
- src/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H 138 additions, 31 deletionssrc/OpenFOAM/db/IOstreams/Pstreams/PstreamBuffers.H
- src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C 1 addition, 1 deletionsrc/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C
- src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C 9 additions, 9 deletionssrc/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
- src/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C 3 additions, 4 deletionssrc/OpenFOAM/parallel/globalIndex/globalIndexTemplates.C
- src/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.C 4 additions, 9 deletionssrc/finiteVolume/fvMesh/zoneDistribute/zoneDistribute.C
- src/finiteVolume/fvMesh/zoneDistribute/zoneDistributeI.H 3 additions, 8 deletionssrc/finiteVolume/fvMesh/zoneDistribute/zoneDistributeI.H
- src/functionObjects/randomProcesses/energySpectrum/energySpectrum.C 1 addition, 1 deletion...onObjects/randomProcesses/energySpectrum/energySpectrum.C
- src/functionObjects/utilities/syncObjects/syncObjects.C 3 additions, 4 deletionssrc/functionObjects/utilities/syncObjects/syncObjects.C
- src/lagrangian/basic/Cloud/Cloud.C 4 additions, 20 deletionssrc/lagrangian/basic/Cloud/Cloud.C
- src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/RecycleInteraction/RecycleInteraction.C 6 additions, 17 deletions...hInteractionModel/RecycleInteraction/RecycleInteraction.C
- src/parallel/reconstruct/faReconstruct/faMeshReconstructor.C 1 addition, 1 deletionsrc/parallel/reconstruct/faReconstruct/faMeshReconstructor.C
- src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C 3 additions, 3 deletions...omProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C
- src/sampling/meshToMesh/meshToMeshParallelOps.C 2 additions, 2 deletionssrc/sampling/meshToMesh/meshToMeshParallelOps.C
- src/transportModels/geometricVoF/advectionSchemes/isoAdvection/isoAdvection.C 4 additions, 4 deletions...geometricVoF/advectionSchemes/isoAdvection/isoAdvection.C
Loading
Please register or sign in to comment