Determines the order in which a set of processors should communicate with one another. More...
Public Member Functions | |
ClassName ("commSchedule") | |
Runtime type information. More... | |
commSchedule (const label nProcs, const List< labelPair > &comms) | |
Construct from wanted communication. Wanted communication is between two processors. Can be a one-way communication or two-way communication, that is up to the caller. More... | |
const labelList & | schedule () const noexcept |
Order in which comms is scheduled. More... | |
const labelListList & | procSchedule () const noexcept |
Per processor the order in which communication has been scheduled. More... | |
Determines the order in which a set of processors should communicate with one another.
The communication order should
Does a very simple scheduling which assumes same time for all operations.
After construction:
Does not care whether 'talking' is first send, second receive or maybe full swap. This is all responsibility of caller. See Foam::rocessorTopology for use in scheduling processor boundary swaps.
Definition at line 63 of file commSchedule.H.
commSchedule | ( | const label | nProcs, |
const List< labelPair > & | comms | ||
) |
Construct from wanted communication. Wanted communication is between two processors. Can be a one-way communication or two-way communication, that is up to the caller.
This class just determines an order for it such that any processor is only talking to one other at a time. After construction:
Definition at line 66 of file commSchedule.C.
References Foam::abort(), Foam::ensightOutput::debug, Foam::endl(), Foam::FatalError, FatalErrorInFunction, Pair< T >::first(), UList< T >::first(), forAll, Foam::labelMin, os(), Foam::outstandingComms(), Foam::Pout, List< T >::push_back(), Pair< T >::second(), Foam::setw(), UList< T >::size(), Foam::sortedOrder(), and Foam::Zero.
ClassName | ( | "commSchedule" | ) |
Runtime type information.
|
inlinenoexcept |
Order in which comms is scheduled.
Definition at line 108 of file commSchedule.H.
|
inlinenoexcept |
Per processor the order in which communication has been scheduled.
Definition at line 116 of file commSchedule.H.