Public Types | |
enum | IOType : int { MasterProcessorOnly = 0, AllProcessorsSimilar = 1, MasterProcessorDistribute = 4, AllProcessorsDifferent = 8 } |
Type of input/output. More... | |
Public Member Functions | |
IOPattern (IOPattern::IOType iotype) | |
IOPattern (const IOPattern &)=default | |
IOPattern (IOPattern &&)=default | |
IOPattern & | operator= (const IOPattern &)=default |
IOPattern & | operator= (IOPattern &&)=default |
~IOPattern ()=default | |
bool | isMasterProcessorOnly () const |
bool | isAllProcessorSimilar () const |
bool | isMasterProcessorDistribute () const |
bool | isAllProcessorsDifferent () const |
bool | isMaster () const |
bool | isParallel () const |
bool | thisCallRead () const |
bool | thisCallWrite () const |
bool | thisProcReadData () const |
bool | thisProcWriteData () const |
bool | thisProcReadHeader () const |
bool | thisProcWriteHeader () const |
auto | globalSize () const |
auto | globalRank () const |
Static Public Member Functions | |
static word | exeMode () |
Private Attributes | |
IOType | ioType_ |
int | globalSize_ = 1 |
int | globalRank_ = 0 |
bool | isMaster_ = true |
bool | isParallel_ = false |
Definition at line 32 of file IOPattern.hpp.
enum IOType : int |
Type of input/output.
MasterProcessorOnly: Read or write is done on master processor and the data on master processor is affected.
MasterProcessorDistribute: Read is done on master processor, but the data should be distributed between processors based on an externally specified pattern. Write is done on master processor and the data is collected from all processors (collection is done based on the externally specified pattern).
AllProcessorsSimilar: Read is done on all processors and processors read the same data. Write is done on master processor, since all processors have the same copy of data.
Enumerator | |
---|---|
MasterProcessorOnly | |
AllProcessorsSimilar | |
MasterProcessorDistribute | |
AllProcessorsDifferent |
Definition at line 52 of file IOPattern.hpp.
IOPattern | ( | IOPattern::IOType | iotype | ) |
Definition at line 23 of file IOPattern.cpp.
|
default |
|
inline |
Definition at line 88 of file IOPattern.hpp.
References IOPattern::ioType_, and IOPattern::MasterProcessorOnly.
Referenced by IOPattern::thisCallRead(), IOPattern::thisCallWrite(), and IOPattern::thisProcReadData().
|
inline |
Definition at line 94 of file IOPattern.hpp.
References IOPattern::AllProcessorsSimilar, and IOPattern::ioType_.
|
inline |
Definition at line 100 of file IOPattern.hpp.
References IOPattern::ioType_, and IOPattern::MasterProcessorDistribute.
Referenced by IOPattern::thisProcReadData().
|
inline |
Definition at line 106 of file IOPattern.hpp.
References IOPattern::AllProcessorsDifferent, and IOPattern::ioType_.
Referenced by IOPattern::thisProcWriteData().
|
inline |
Definition at line 112 of file IOPattern.hpp.
References IOPattern::isMaster_.
Referenced by IOPattern::thisCallRead(), IOPattern::thisCallWrite(), IOPattern::thisProcReadData(), IOPattern::thisProcWriteData(), and IOPattern::thisProcWriteHeader().
|
inline |
Definition at line 118 of file IOPattern.hpp.
References IOPattern::isParallel_.
|
inline |
Definition at line 124 of file IOPattern.hpp.
References IOPattern::isMaster(), and IOPattern::isMasterProcessorOnly().
|
inline |
Definition at line 131 of file IOPattern.hpp.
References IOPattern::isMaster(), and IOPattern::isMasterProcessorOnly().
|
inline |
Definition at line 138 of file IOPattern.hpp.
References IOPattern::isMaster(), IOPattern::isMasterProcessorDistribute(), and IOPattern::isMasterProcessorOnly().
Referenced by Field< uint32x3 >::read(), and IOPattern::thisProcReadHeader().
|
inline |
Definition at line 146 of file IOPattern.hpp.
References IOPattern::isAllProcessorsDifferent(), and IOPattern::isMaster().
Referenced by stationaryWall::write(), conveyorBeltMotion::write(), rotatingAxisMotion::write(), vibratingMotion::write(), insertion::write(), multiTriSurface::write(), and Field< uint32x3 >::write().
|
inline |
Definition at line 153 of file IOPattern.hpp.
References IOPattern::thisProcReadData().
|
inline |
Definition at line 159 of file IOPattern.hpp.
References IOPattern::isMaster().
|
inline |
Definition at line 165 of file IOPattern.hpp.
References IOPattern::globalSize_.
|
inline |
Definition at line 171 of file IOPattern.hpp.
References IOPattern::globalRank_.
|
static |
Definition at line 32 of file IOPattern.cpp.
References processors::globalRunTypeName().
|
private |
Definition at line 63 of file IOPattern.hpp.
Referenced by IOPattern::isAllProcessorsDifferent(), IOPattern::isAllProcessorSimilar(), IOPattern::isMasterProcessorDistribute(), and IOPattern::isMasterProcessorOnly().
|
private |
Definition at line 65 of file IOPattern.hpp.
Referenced by IOPattern::globalSize().
|
private |
Definition at line 67 of file IOPattern.hpp.
Referenced by IOPattern::globalRank().
|
private |
Definition at line 69 of file IOPattern.hpp.
Referenced by IOPattern::isMaster().
|
private |
Definition at line 71 of file IOPattern.hpp.
Referenced by IOPattern::isParallel().