|
| virtual bool | optimizedEqualLevelCommunication () const =0 |
| |
| virtual void | optimizeEqualLevelCommunication (const bool value=true)=0 |
| |
| virtual bool | optimizedForLinearExplosion () const =0 |
| |
| virtual void | optimizeForLinearExplosion (const bool value=true)=0 |
| |
| | NonUniformPackInfo ()=default |
| |
| virtual | ~NonUniformPackInfo ()=default |
| |
| virtual bool | constantDataExchange () const =0 |
| | Should return true if the amount of data that is packed for a given block in direction "dir" is guaranteed to remain constant over time.
|
| |
| virtual bool | threadsafeReceiving () const =0 |
| | Must return false if calling unpackData*() and/or communicateLocal*() methods is not thread-safe.
|
| |
| void | packDataEqualLevel (const Block *sender, stencil::Direction dir, mpi::SendBuffer &buffer) const |
| | Must be thread-safe! Calls packDataEqualLevelImpl.
|
| |
| virtual void | unpackDataEqualLevel (Block *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer)=0 |
| | If NOT thread-safe, threadsafeReceiving must return false!
|
| |
| virtual void | communicateLocalEqualLevel (const Block *sender, Block *receiver, stencil::Direction dir)=0 |
| | If NOT thread-safe, threadsafeReceiving must return false!
|
| |
| void | packDataCoarseToFine (const Block *coarseSender, const BlockID &fineReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const |
| |
| virtual void | unpackDataCoarseToFine (Block *fineReceiver, const BlockID &coarseSender, stencil::Direction dir, mpi::RecvBuffer &buffer)=0 |
| |
| virtual void | communicateLocalCoarseToFine (const Block *coarseSender, Block *fineReceiver, stencil::Direction dir)=0 |
| |
| void | packDataFineToCoarse (const Block *fineSender, const BlockID &coarseReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const |
| |
| virtual void | unpackDataFineToCoarse (Block *coarseReceiver, const BlockID &fineSender, stencil::Direction dir, mpi::RecvBuffer &buffer)=0 |
| |
| virtual void | communicateLocalFineToCoarse (const Block *fineSender, Block *coarseReceiver, stencil::Direction dir)=0 |
| |
| void | clearBufferSizeCheckMap () |
| |