Determines the order in which a set of processors should communicate with one another. More...
#include <commSchedule.H>
Public Member Functions | |
| ClassName ("commSchedule") | |
| Runtime type information. | |
| 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. | |
| const labelList & | schedule () const noexcept |
| Order in which comms is scheduled. | |
| const labelListList & | procSchedule () const noexcept |
| Per processor the order in which communication has been scheduled. | |
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.
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 65 of file commSchedule.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, Pair< T >::first(), UList< T >::first(), forAll, Foam::labelMin, UPstream::master(), 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.
References Foam::noexcept.
|
inlinenoexcept |
Per processor the order in which communication has been scheduled.
Definition at line 116 of file commSchedule.H.
References Foam::noexcept.