![]() |
|
Public Member Functions | |
ClassName ("Pstream") | |
Pstream (const label bufSize=0) | |
Construct given optional buffer size. | |
Static Public Member Functions | |
void | addValidParOptions (HashTable< string > &validParOptions) |
Add the valid option this type of communications library. | |
bool | init (int &argc, char **&argv) |
Initialisation function called from main. | |
bool | parRun () |
Is this a parallel run? | |
label | nProcs () |
Number of processes in parallel run. | |
bool | master () |
Am I the master process. | |
int | masterNo () |
Process index of the master. | |
int | myProcNo () |
Number of this process (starting from masterNo() = 0). | |
const List< int > & | procIDs () |
Process IDs. | |
int | procID (int procNo) |
Process ID of given process index. | |
int | firstSlave () |
Process index of first slave. | |
int | lastSlave () |
Process index of last slave. | |
const List< commsStruct > & | linearCommunication () |
Communication schedule for linear all-to-master (proc 0). | |
const List< commsStruct > & | treeCommunication () |
Communication schedule for tree all-to-master (proc 0). | |
int | msgType () |
Message tag of standard messages. | |
void | exit (int errnum=1) |
Exit program. | |
void | abort () |
Abort program. | |
template<class T, class BinaryOp> | |
void | gather (const List< commsStruct > &comms, T &Value, const BinaryOp &bop) |
Gather data. Apply bop to combine Value. | |
template<class T, class BinaryOp> | |
void | gather (T &Value, const BinaryOp &bop) |
Like above but switches between linear/tree communication. | |
template<class T> | |
void | scatter (const List< commsStruct > &comms, T &Value) |
Scatter data. Distribute without modification. Reverse of gather. | |
template<class T> | |
void | scatter (T &Value) |
Like above but switches between linear/tree communication. | |
template<class T, class CombineOp> | |
void | combineGather (const List< commsStruct > &comms, T &Value, const CombineOp &cop) |
template<class T, class CombineOp> | |
void | combineGather (T &Value, const CombineOp &cop) |
Like above but switches between linear/tree communication. | |
template<class T> | |
void | combineScatter (const List< commsStruct > &comms, T &Value) |
Scatter data. Reverse of combineGather. | |
template<class T> | |
void | combineScatter (T &Value) |
Like above but switches between linear/tree communication. | |
template<class T, class CombineOp> | |
void | listCombineGather (const List< commsStruct > &comms, List< T > &Value, const CombineOp &cop) |
template<class T, class CombineOp> | |
void | listCombineGather (List< T > &Value, const CombineOp &cop) |
Like above but switches between linear/tree communication. | |
template<class T> | |
void | listCombineScatter (const List< commsStruct > &comms, List< T > &Value) |
Scatter data. Reverse of combineGather. | |
template<class T> | |
void | listCombineScatter (List< T > &Value) |
Like above but switches between linear/tree communication. | |
template<class T> | |
void | gatherList (const List< commsStruct > &comms, List< T > &Values) |
Gather data but keep individual values separate. | |
template<class T> | |
void | gatherList (List< T > &Values) |
Like above but switches between linear/tree communication. | |
template<class T> | |
void | scatterList (const List< commsStruct > &comms, List< T > &Values) |
Scatter data. Reverse of gatherList. | |
template<class T> | |
void | scatterList (List< T > &Values) |
Like above but switches between linear/tree communication. | |
Static Public Attributes | |
bool | floatTransfer |
Should compact transfer be used in which floats replace doubles. | |
int | nProcsSimpleSum |
Number of processors at which the sum algorithm changes from linear. | |
Protected Member Functions | |
void | enlargeBuffer (size_t count) |
Increase the size of the transfer buffer. | |
Protected Attributes | |
List< char > | buf_ |
Transfer buffer. | |
int | bufPosition_ |
Current buffer read/write location. |
|
Construct given optional buffer size.
|
|
Abort program.
|
|
Add the valid option this type of communications library. adds/requires on the command line |
|
|
|
Like above but switches between linear/tree communication.
|
|
|
|
Like above but switches between linear/tree communication.
|
|
Scatter data. Reverse of combineGather.
|
|
Increase the size of the transfer buffer.
|
|
Exit program.
|
|
Process index of first slave.
|
|
Like above but switches between linear/tree communication.
|
|
Gather data. Apply bop to combine Value. from different processors |
|
Like above but switches between linear/tree communication.
|
|
Gather data but keep individual values separate.
|
|
Initialisation function called from main. Spawns slave processes and initialises inter-communication |
|
Process index of last slave.
|
|
Communication schedule for linear all-to-master (proc 0).
|
|
Like above but switches between linear/tree communication.
|
|
|
|
Like above but switches between linear/tree communication.
|
|
Scatter data. Reverse of combineGather.
|
|
Am I the master process.
|
|
Process index of the master.
|
|
Message tag of standard messages.
Definition at line 333 of file Pstream.H. References Foam::T(). |
Here is the call graph for this function:
|
Number of this process (starting from masterNo() = 0).
|
|
Number of processes in parallel run.
|
|
Is this a parallel run?
|
|
Process ID of given process index.
|
|
Process IDs.
|
|
Like above but switches between linear/tree communication.
|
|
Scatter data. Distribute without modification. Reverse of gather.
|
|
Like above but switches between linear/tree communication.
|
|
Scatter data. Reverse of gatherList.
|
|
Communication schedule for tree all-to-master (proc 0).
Definition at line 327 of file Pstream.H. References Foam::T(). |
Here is the call graph for this function:
|
Transfer buffer.
|
|
Current buffer read/write location.
|
|
Should compact transfer be used in which floats replace doubles. reducing the bandwidth requirement at the expense of some loss in accuracy |
|
Number of processors at which the sum algorithm changes from linear. to tree |