mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-12-28 03:37:59 +00:00
ENH: extend mpiAllGather to include integer and float types
- was previously limited to 'char' whereas gatherv/scatterv already supported various integer and float types STYLE: rebundle allToAll declarations with macros ENH: provide a version of allToAllConsensus returning the Map - simplifies use and avoids ambiguities in the send/recv parameters - the Map version will now also transmit zero value data if they exist in the Map. Unlike the List version, zero values are not necessary to signal connectivity with a Map. COMP: forwarding template parameters for NBX routines ENH: consolidate PstreamBuffers size exchange options - had a variety of nearly identical backends for all-to-all, gather/scatter. Now combined internally with a dispatch enumeration which provides better control over which size exchange algorithm is used. DEFEATURE: remove experimental full-NBX PstreamBuffers variant - no advantages seen compared to the hybrid NBX/PEX approach. Removal reduces some code cruft. DEFEATURE: remove experimental "double non-blocking" NBX version - the idea was to avoid blocking receives for very large data transfers, but that is usually better accomplished with a hybrid NBX/PEX approach like PstreamBuffers allows
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: v2306 |
|
||||
| \\ / O peration | Version: v2312 |
|
||||
| \\ / A nd | Website: www.openfoam.com |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -174,12 +174,13 @@ OptimisationSwitches
|
||||
nbx.tuning 0;
|
||||
|
||||
// Additional PstreamBuffers tuning parameters (experimental)
|
||||
// -1 : PEX with all-to-all for buffer sizes and point-to-point
|
||||
// for contents (legacy approach)
|
||||
// 0 : hybrid PEX with NBX for buffer sizes and point-to-point
|
||||
// for contents (proposed new approach)
|
||||
// 1 : full NBX for buffer sizes and contents (very experimental)
|
||||
pbufs.tuning -1;
|
||||
// 0 : (legacy PEX)
|
||||
// * all-to-all for buffer sizes [legacy approach]
|
||||
// * point-to-point for contents
|
||||
// 1 : (hybrid PEX)
|
||||
// * NBX for buffer sizes [new approach]
|
||||
// * point-to-point for contents
|
||||
pbufs.tuning 0;
|
||||
|
||||
|
||||
// =====
|
||||
|
||||
Reference in New Issue
Block a user