Version of masterUncollated with host-based IO ranks. More...


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