36 namespace fileOperations
42 hostCollatedFileOperation,
48 hostCollatedFileOperation,
55 fileOperationInitialise,
56 fileOperationInitialise_collated,
94 return commAndIORanks;
102 void Foam::fileOperations::hostCollatedFileOperation::init(
bool verbose)
118 collatedFileOperation
124 managedComm_(getManagedComm(comm_))
133 const bool distributedRoots,
152 managedComm_ = getManagedComm(comm_);
void size(const label n)
Older name for setAddressableSize.
hostCollatedFileOperation(bool verbose=false)
Default construct.
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
static labelList getGlobalHostIORanks()
Get list of global IO master ranks based on the hostname. It is assumed that each host range is conti...
static void freeCommunicator(const label communicator, const bool withComponents=true)
Free a previously allocated communicator.
int infoDetailLevel
Global for selective suppression of Info output.
bool empty() const noexcept
True if List is empty (ie, size() is zero)
static bool & parRun() noexcept
Test if this a parallel run.
static label worldComm
Communicator for all ranks. May differ from commGlobal() if local worlds are in use.
Macros for easy insertion into run-time selection tables.
addToRunTimeSelectionTable(fileOperation, collatedFileOperation, word)
void printBanner(const bool withRanks=false) const
Print banner information, optionally with io ranks.
addNamedToRunTimeSelectionTable(fileOperationInitialise, fileOperationInitialise_collated, word, collated)
static Tuple2< label, labelList > getCommPattern()
static labelRange subRanks(const labelUList &mainIOranks)
Get (contiguous) range/bounds of ranks addressed within the given main io-ranks.
Version of masterUncollatedFileOperation that collates regIOobjects into a container in the processor...
const T2 & second() const noexcept
Access the second element.
const labelList ioRanks_
The list of IO ranks (global ranks)
virtual ~hostCollatedFileOperation()
Destructor.
static labelList getGlobalIORanks()
Get list of global IO ranks from FOAM_IORANKS env variable. If set, these correspond to the IO master...
defineTypeNameAndDebug(collatedFileOperation, 0)
const T1 & first() const noexcept
Access the first element.
static label allocateCommunicator(const label parent, const labelRange &subRanks, const bool withComponents=true)
Allocate new communicator with contiguous sub-ranks on the parent communicator.
virtual void storeComm() const
Transfer ownership of communicator to this fileOperation. Use with caution.