-
- The idea of broadcast streams is to replace multiple master to subProcs communications with a single MPI_Bcast. if (Pstream::master()) { OPBstream toAll(Pstream::masterNo()); toAll << data; } else { IPBstream fromMaster(Pstream::masterNo()); fromMaster >> data; } // vs. if (Pstream::master()) { for (const int proci : Pstream::subProcs()) { OPstream os(Pstream::commsTypes::scheduled, proci); os << data; } } else { IPstream is(Pstream::commsTypes::scheduled, Pstream::masterNo()); is >> data; } Can simply use UPstream::broadcast() directly for contiguous data with known lengths. Based on ideas from T.Aoyagi(RIST), A.Azami(RIST)
8478595a