Version of masterUncollated with host-based IO ranks. More...
#include <hostUncollatedFileOperation.H>


Public Member Functions | |
| TypeName ("hostUncollated") | |
| Runtime type information. | |
| hostUncollatedFileOperation (bool verbose=false) | |
| Default construct. | |
| hostUncollatedFileOperation (const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots, bool verbose=false) | |
| Construct from communicator with specified io-ranks. | |
| virtual | ~hostUncollatedFileOperation () |
| Destructor. | |
| virtual void | storeComm () const |
| Transfer ownership of communicator to this fileOperation. Use with caution. | |
| Public Member Functions inherited from masterUncollatedFileOperation | |
| TypeName ("masterUncollated") | |
| Runtime type information. | |
| masterUncollatedFileOperation (bool verbose=false) | |
| Default construct. | |
| masterUncollatedFileOperation (const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots, bool verbose=false) | |
| Construct from communicator with specified io-ranks. | |
| virtual | ~masterUncollatedFileOperation () |
| Destructor. | |
| virtual bool | mkDir (const fileName &, mode_t=0777) const |
| Make directory. | |
| virtual bool | chMod (const fileName &, const mode_t) const |
| Set the file mode. | |
| virtual mode_t | mode (const fileName &, const bool followLink=true) const |
| Return the file mode. | |
| virtual fileName::Type | type (const fileName &, const bool followLink=true) const |
| Return the file type: DIRECTORY, FILE or SYMLINK. | |
| virtual bool | exists (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
| Does the name exist (as DIRECTORY or FILE) in the file system? | |
| virtual bool | isDir (const fileName &, const bool followLink=true) const |
| Does the name exist as a DIRECTORY in the file system? | |
| virtual bool | isFile (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
| Does the name exist as a FILE in the file system? | |
| virtual off_t | fileSize (const fileName &, const bool followLink=true) const |
| Return size of file. | |
| virtual time_t | lastModified (const fileName &, const bool followLink=true) const |
| Return time of last file modification. | |
| virtual double | highResLastModified (const fileName &, const bool followLink=true) const |
| Return time of last file modification. | |
| virtual fileNameList | readDir (const fileName &, const fileName::Type=fileName::FILE, const bool filtergz=true, const bool followLink=true) const |
| Read a directory and return the entries as a string list. | |
| virtual bool | cp (const fileName &src, const fileName &dst, const bool followLink=true) const |
| Copy, recursively if necessary, the source to the destination. | |
| virtual bool | ln (const fileName &src, const fileName &dst) const |
| Create a softlink. dst should not exist. Returns true if. | |
| virtual bool | mv (const fileName &src, const fileName &dst, const bool followLink=false) const |
| Rename src to dst. | |
| virtual bool | mvBak (const fileName &, const std::string &ext="bak") const |
| Rename to a corresponding backup file. | |
| virtual bool | rm (const fileName &) const |
| Remove a file, returning true if successful otherwise false. | |
| virtual bool | rmDir (const fileName &dir, const bool silent=false, const bool emptyOnly=false) const |
| Remove a directory and its contents. | |
| virtual fileName | filePath (const bool checkGlobal, const IOobject &io, const word &typeName, const bool search) const |
| Search for an object. | |
| virtual fileName | dirPath (const bool checkGlobal, const IOobject &io, const bool search) const |
| Search for a directory. | |
| virtual fileNameList | readObjects (const objectRegistry &db, const fileName &instance, const fileName &local, word &newInstance) const |
| Search directory for objects. Used in IOobjectList. | |
| virtual bool | readHeader (IOobject &, const fileName &, const word &typeName) const |
| Read object header from supplied file. | |
| virtual autoPtr< ISstream > | readStream (regIOobject &, const fileName &, const word &typeName, const bool readOnProc=true) const |
| Reads header for regIOobject and returns an ISstream to read the contents. | |
| virtual bool | read (regIOobject &, const bool masterOnly, const IOstreamOption::streamFormat format, const word &typeName) const |
| Top-level read. | |
| virtual bool | writeObject (const regIOobject &io, IOstreamOption streamOpt=IOstreamOption(), const bool writeOnProc=true) const |
| Writes a regIOobject (so header, contents and divider). | |
| virtual autoPtr< ISstream > | NewIFstream (const fileName &) const |
| Generate an ISstream that reads a file. | |
| virtual autoPtr< OSstream > | NewOFstream (const fileName &pathname, IOstreamOption streamOpt=IOstreamOption(), const bool writeOnProc=true) const |
| Generate an OSstream that writes a file. | |
| virtual autoPtr< OSstream > | NewOFstream (IOstreamOption::atomicType atomic, const fileName &pathname, IOstreamOption streamOpt=IOstreamOption(), const bool writeOnProc=true) const |
| Generate an OSstream that writes a file. | |
| virtual label | addWatch (const fileName &) const |
| Add watching of a file. Returns handle. | |
| virtual bool | removeWatch (const label) const |
| Remove watch on a file (using handle). | |
| virtual label | findWatch (const labelList &watchIndices, const fileName &) const |
| Find index (or -1) of file in list of handles. | |
| virtual void | addWatches (regIOobject &, const fileNameList &) const |
| Helper: add watches for list of regIOobjects. | |
| virtual fileName | getFile (const label) const |
| Get name of file being watched (using handle). | |
| virtual void | updateStates (const bool masterOnly, const bool syncPar) const |
| Update state of all files. | |
| virtual fileMonitor::fileState | getState (const label) const |
| Get current state of file (using handle). | |
| virtual void | setUnmodified (const label) const |
| Set current state of file (using handle) to unmodified. | |
| virtual instantList | findTimes (const fileName &directory, const word &constantName="constant") const |
| Get sorted list of times. | |
| virtual IOobject | findInstance (const IOobject &io, const scalar startValue, const word &stopInstance="", const bool constant_fallback=true) const |
Find time instance where IOobject is located. The name of the IOobject can be empty, in which case only the IOobject::local() is checked. Does not search beyond stopInstance (if set) or constant. | |
| virtual void | setTime (const Time &) const |
| Callback for time change. | |
| virtual void | flush () const |
| Forcibly wait until all output done. Flush any cached data. | |
| virtual void | sync () |
| Forcibly parallel sync. | |
| const HashPtrTable< DynamicList< instant > > & | times () const noexcept |
| Return cached times. | |
| Public Member Functions inherited from fileOperation | |
| TypeName ("fileOperation") | |
| Runtime type information. | |
| fileOperation (const label comm, const labelUList &ioRanks=labelUList::null(), const bool distributedRoots=false) | |
| Construct from communicator, optionally with specified io-ranks and/or distributed roots. | |
| fileOperation (const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots=false) | |
| Construct from communicator with specified io-ranks. | |
| declareRunTimeSelectionTable (autoPtr, fileOperation, word,(bool verbose),(verbose)) | |
| declareRunTimeSelectionTable (autoPtr, fileOperation, comm,(const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots, bool verbose),(commAndIORanks, distributedRoots, verbose)) | |
| virtual | ~fileOperation ()=default |
| Destructor. | |
| label | comm () const noexcept |
| Communicator to use. | |
| label | comm (label communicator) const noexcept |
| Set communicator to use [mutable]. Negative values are a no-op. | |
| bool | distributed () const noexcept |
| Distributed roots (parallel run). | |
| bool | distributed (bool on) const noexcept |
| Set distributed roots on/off [mutable]. | |
| const labelList & | ioRanks () const noexcept |
| The list of IO ranks (global ranks). | |
| InfoProxy< fileOperation > | info () const noexcept |
| Return info proxy, used to print information to a stream. | |
| virtual bool | good () const |
| True if the fileOperation can be considered valid. At the moment, primarily used to detect the dummy fileOperation. | |
| virtual bool | broadcastCopy (const label comm, const bool writeOnProc, const fileName &src, const fileName &dst) const |
| Read dir/file (recursively if necessary) on master of the communicator, send and write contents to all 'writeOnProc' processors with local file name. | |
| virtual fileName | objectPath (const IOobject &io, const word &typeName) const |
| Generate disk file name for object. Opposite of filePath. | |
| virtual fileName | filePath (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
| Search for a file or directory. Use IOobject version in preference. | |
| virtual word | processorsDir (const IOobject &io) const |
| Actual name of processors dir (for use in mode PROCOBJECT, PROCINSTANCE). | |
| virtual word | processorsDir (const fileName &) const |
| Actual name of processors dir (for use in mode PROCOBJECT, PROCINSTANCE). | |
| label | nProcs () const noexcept |
| Overall number of processors, from UPstream::nProcs() or detected from directories/results. | |
| label | nProcs (const label numProcs) noexcept |
| Set number of processor directories/results. | |
| virtual label | nProcs (const fileName &dir, const fileName &local="", const label wantedNProcs=0) const |
| Get number of processor directories/results. | |
| fileName | processorsCasePath (const IOobject &io, const word &procDir) const |
| Generate path (like io.path) from root+casename with any. | |
| fileName | processorsPath (const IOobject &io, const word &instance, const word &procDir) const |
| Generate path (like io.path) with provided instance and any. | |
| fileName | processorsPath (const fileName &, const word &procDir) const |
| Operating on fileName: replace processorXXX with procDir. | |
| label | setNProcs (label numProcs) |
| Same as nProcs. | |
Additional Inherited Members | |
| Public Types inherited from fileOperation | |
| enum | pathType : int { NOTFOUND = 0 , ABSOLUTE , OBJECT , WRITEOBJECT , PROCUNCOLLATED , PROCBASEOBJECT = PROCUNCOLLATED + 1 , PROCOBJECT = PROCBASEOBJECT + 1 , PARENTOBJECT , FINDINSTANCE , PROCUNCOLLATEDINSTANCE , PROCBASEINSTANCE , PROCINSTANCE } |
| Enumeration for the location of an IOobject. More... | |
| typedef Tuple2< fileName, Tuple2< pathType, int > > | dirIndex |
| Augment fileName with pathType and local offset. | |
| typedef List< dirIndex > | dirIndexList |
| typedef UPstream::rangeType | procRangeType |
| For addressing a range of processors (an int range). | |
| Static Public Member Functions inherited from fileOperation | |
| static refPtr< fileOperation > | null () |
| Reference to a dummy file handler. | |
| static autoPtr< fileOperation > | New (const word &handlerType, bool verbose=false) |
| Select fileHandler-type. Uses defaultFileHandler if the handlerType is empty. | |
| static autoPtr< fileOperation > | New (const word &handlerType, const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots, bool verbose=false) |
| Select fileHandler-type. Uses defaultFileHandler if the handlerType is empty. | |
| static autoPtr< fileOperation > | New (const fileOperation &origHandler, const boolUList &useProc, bool verbose=false) |
| Replicate the given fileHandler properties with a subset of (global) ranks. | |
| static autoPtr< fileOperation > | New (const fileOperation &origHandler, const bitSet &useProc, bool verbose=false) |
| Replicate the given fileHandler properties with a subset of (global) ranks. | |
| static autoPtr< fileOperation > | NewUncollated () |
| The commonly used uncollatedFileOperation. | |
| static const fileOperation & | fileHandler () |
| Return the current file handler. Will create the default file handler if necessary. | |
| static refPtr< fileOperation > | fileHandler (std::nullptr_t) |
| Delete current file handler. | |
| static refPtr< fileOperation > | fileHandler (refPtr< fileOperation > &newHandler) |
| Replace the current file handler. | |
| static refPtr< fileOperation > | fileHandler (refPtr< fileOperation > &&newHandler) |
| Replace the current file handler. | |
| static refPtr< fileOperation > | fileHandler (autoPtr< fileOperation > &&newHandler) |
| Replace the current file handler. | |
| static int | cacheLevel () noexcept |
| Return cache level. | |
| static int | cacheLevel (int level) noexcept |
| Set cache level (0 = off). | |
| static int | nProcsFilter () noexcept |
| Return collated 'processorsDDD' filtering. | |
| static int | nProcsFilter (int level) noexcept |
| Set collated 'processorsDDD' filtering (0 = off). | |
| static instantList | sortTimes (const fileNameList &dirEntries, const word &constantName="constant") |
| Sort directory entries according to time value,. | |
| static bool | uniformFile (const fileNameList &names) |
| True if the file names are identical. False on an empty list. | |
| static bool | uniformFile (const label comm, const fileName &name) |
| True if the file name is identical on all ranks. | |
| static label | splitProcessorPath (const fileName &objectPath, fileName &path, fileName &procDir, fileName &local, procRangeType &group, label &nProcs) |
| Split objectPath into part before 'processor' and part after. | |
| static label | detectProcessorPath (const fileName &objPath) |
| Detect processor number from '/aa/bb/processorDDD/cc'. | |
| static label | detectProcessorPath (const fileName &objPath, procRangeType &group, label *numProcs=nullptr) |
| Detect processor number from 'path/processorDDD/abc' or 'path/processorsNN/abc', 'path/processorsNN_0-10/abc'. | |
| static labelRange | subRanks (const labelUList &mainIOranks) |
| Get (contiguous) range/bounds of ranks addressed within the given main io-ranks. | |
| static labelList | getGlobalHostIORanks () |
| Get list of global IO master ranks based on the hostname. It is assumed that each host range is contiguous. | |
| static labelList | getGlobalIORanks () |
| Get list of global IO ranks from FOAM_IORANKS env variable. If set, these correspond to the IO master ranks. | |
| Static Public Attributes inherited from masterUncollatedFileOperation | |
| static float | maxMasterFileBufferSize |
| Max size of parallel communications. Switches from non-blocking. | |
| Static Public Attributes inherited from fileOperation | |
| static const Enum< pathType > | pathTypeNames_ |
| static word | processorsBaseDir = "processors" |
| Return the processors directory name (usually "processors"). | |
| static word | defaultFileHandler |
| Name of the default fileHandler. | |
| static refPtr< fileOperation > | fileHandlerPtr_ |
| The currently active file handler. Avoid accessing directly. | |
| Protected Member Functions inherited from masterUncollatedFileOperation | |
| template<class Type, class FileOp> | |
| Type | masterOp (const fileName &fName, const FileOp &fop, const int tag, const label comm) const |
| template<class Type, class FileOp> | |
| Type | masterOp (const fileName &src, const fileName &dest, const FileOp &fop, const int tag, const label comm) const |
| virtual fileName | filePathInfo (const bool checkGlobal, const bool isFile, const IOobject &io, const dirIndexList &pDirs, const bool search, pathType &searchType, word &processorsDir, word &instance) const |
| Search (locally!) for object; return info on how it was found. | |
| fileName | localObjectPath (const IOobject &, const pathType &searchType, const word &processorsDir, const word &instancePath) const |
| Construct filePath. | |
| bool | exists (const dirIndexList &, IOobject &io) const |
| Helper: check IO for local existence. Like filePathInfo but. | |
| Protected Member Functions inherited from fileOperation | |
| fileMonitor & | monitor () const |
| Get or create fileMonitor singleton. | |
| refPtr< dirIndexList > | lookupAndCacheProcessorsPath (const fileName &objectPath, const bool syncPar) const |
| Lookup name of processorsDDD using cache. | |
| virtual refPtr< dirIndexList > | lookupProcessorsPath (const fileName &objectPath) const |
| Lookup name of processorsDDD using cache. | |
| bool | exists (IOobject &io) const |
| Does IOobject exist? Is either a directory (empty name()) or a file. | |
| bool | isIOrank (const label proci) const |
| Is proci a master rank in the communicator (in parallel) or a master rank in the IO ranks (non-parallel). | |
| void | printRanks () const |
| Helper: output which ranks are IO. | |
| Static Protected Member Functions inherited from masterUncollatedFileOperation | |
| static void | readAndSend (const fileName &filePath, const labelUList &recvProcs, PstreamBuffers &pBufs) |
| Read file contents and send to processors. | |
| static autoPtr< ISstream > | read (IOobject &io, const label comm, const bool uniform, const fileNameList &filePaths, const boolUList &readOnProcs) |
| Read files on comms master. | |
| Static Protected Member Functions inherited from fileOperation | |
| static void | mergeTimes (const UList< instant > &extraTimes, const word &constantName, instantList ×) |
| Merge two times. | |
| static bool | isFileOrDir (const bool isFile, const fileName &) |
| Helper: check for file (isFile) or directory (!isFile). | |
| static label | getManagedComm (const label communicator) |
| Construction helper: check for locally allocated communicator. | |
| Protected Attributes inherited from masterUncollatedFileOperation | |
| HashPtrTable< DynamicList< instant > > | times_ |
| Cached times for a given directory. | |
| Protected Attributes inherited from fileOperation | |
| label | comm_ |
| Communicator to use. | |
| label | nProcs_ |
| Overall number of processors. | |
| bool | distributed_ |
| Distributed roots (parallel run). | |
| const labelList | ioRanks_ |
| The list of IO ranks (global ranks). | |
| HashTable< dirIndexList > | procsDirs_ |
| Detected processors directories. | |
| std::unique_ptr< fileMonitor > | monitorPtr_ |
| File-change monitor for all registered files. | |
| Static Protected Attributes inherited from fileOperation | |
| static int | cacheLevel_ |
| Cache level (eg, for caching time directories). Default: 1. | |
Version of masterUncollated with host-based IO ranks.
Definition at line 43 of file hostUncollatedFileOperation.H.
|
explicit |
Default construct.
Definition at line 113 of file hostUncollatedFileOperation.C.
References fileOperation::comm_, Foam::getCommPattern(), fileOperation::getManagedComm(), and masterUncollatedFileOperation::masterUncollatedFileOperation().

|
explicit |
Construct from communicator with specified io-ranks.
Definition at line 130 of file hostUncollatedFileOperation.C.
References masterUncollatedFileOperation::masterUncollatedFileOperation().

|
virtual |
Destructor.
Definition at line 158 of file hostUncollatedFileOperation.C.
References Foam::flush(), and UPstream::freeCommunicator().

| TypeName | ( | "hostUncollated" | ) |
Runtime type information.
|
virtual |
Transfer ownership of communicator to this fileOperation. Use with caution.
Reimplemented from masterUncollatedFileOperation.
Definition at line 149 of file hostUncollatedFileOperation.C.
References fileOperation::comm_, and fileOperation::getManagedComm().
