42 PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking, tag, comm);
43 if (Pstream::master(comm))
45 for (
label proci = 1; proci < Pstream::nProcs(comm); proci++)
48 os << masterLst[proci];
55 if (Pstream::master(comm))
57 myResult = masterLst[Pstream::myProcNo(comm)];
68 template<
class Type,
class fileOp>
79 Pout<<
"masterUncollatedFileOperation::masterOp : Operation "
80 <<
typeid(fileOp).
name()
81 <<
" on " << fName <<
endl;
83 if (Pstream::parRun())
86 filePaths[Pstream::myProcNo(comm)] = fName;
87 Pstream::gatherList(filePaths, tag, comm);
90 if (Pstream::master(comm))
92 result = fop(filePaths[0]);
93 for (
label i = 1; i < filePaths.size(); i++)
95 if (filePaths[i] != filePaths[0])
97 result[i] = fop(filePaths[i]);
102 return scatterList(result, tag, comm);
111 template<
class Type,
class fileOp>
123 Pout<<
"masterUncollatedFileOperation : Operation on src:" << src
124 <<
" dest:" << dest <<
endl;
126 if (Pstream::parRun())
129 srcs[Pstream::myProcNo(comm)] = src;
130 Pstream::gatherList(srcs, tag, comm);
133 dests[Pstream::myProcNo(comm)] = dest;
134 Pstream::gatherList(dests, tag, comm);
137 if (Pstream::master(comm))
139 result = fop(srcs[0], dests[0]);
140 for (
label i = 1; i < srcs.size(); i++)
142 if (srcs[i] != srcs[0])
144 result[i] = fop(srcs[i], dests[i]);
149 return scatterList(result, tag, comm);
153 return fop(src, dest);