|
waLBerla 7.2
|
Communication for a single field using MPI datatypes ( no intermediate buffers )
#include <UniformDirectScheme.h>
Classes | |
| struct | CommInfo |
Public Types | |
| using | Stencil = Stencil_T |
| using | UniformMPIDatatypeInfo = walberla::communication::UniformMPIDatatypeInfo |
| using | CommunicationItemInfo = walberla::communication::UniformMPIDatatypeInfo |
Public Member Functions | |
Construction & Destruction | |
| UniformDirectScheme (const weak_ptr< StructuredBlockForest > &bf, const shared_ptr< UniformMPIDatatypeInfo > &dataInfo=shared_ptr< UniformMPIDatatypeInfo >(), const int tag=778) | |
| UniformDirectScheme (const weak_ptr< StructuredBlockForest > &bf, const Set< SUID > &requiredBlockSelectors, const Set< SUID > &incompatibleBlockSelectors, const shared_ptr< UniformMPIDatatypeInfo > &dataInfo=shared_ptr< UniformMPIDatatypeInfo >(), const int tag=778) | |
Registration of data to communicate | |
| void | addDataToCommunicate (const shared_ptr< UniformMPIDatatypeInfo > &dataInfo) |
Synchronous Communication | |
| void | operator() () |
| void | communicate () |
Asynchronous Communication | |
| weak_ptr< StructuredBlockForest > | blockForest_ |
| bool | setupRequired_ |
| bool | communicationRunning_ |
| Set< SUID > | requiredBlockSelectors_ |
| Set< SUID > | incompatibleBlockSelectors_ |
| std::vector< CommInfo > | sendInfos_ |
| std::vector< CommInfo > | recvInfos_ |
| std::vector< MPI_Request > | mpiRequests_ |
| std::vector< shared_ptr< mpi::Datatype > > | mpiDatatypes_ |
| std::vector< shared_ptr< UniformMPIDatatypeInfo > > | dataInfos_ |
| int | tag_ |
| void | startCommunication () |
| void | wait () |
| std::function< void()> | getStartCommunicateFunctor () |
| std::function< void()> | getWaitFunctor () |
| void | setup () |
| using walberla::blockforest::communication::UniformDirectScheme< Stencil_T >::CommunicationItemInfo = walberla::communication::UniformMPIDatatypeInfo |
| using walberla::blockforest::communication::UniformDirectScheme< Stencil_T >::Stencil = Stencil_T |
| using walberla::blockforest::communication::UniformDirectScheme< Stencil_T >::UniformMPIDatatypeInfo = walberla::communication::UniformMPIDatatypeInfo |
|
inlineexplicit |
|
inline |
| void walberla::blockforest::communication::UniformDirectScheme< Stencil >::addDataToCommunicate | ( | const shared_ptr< UniformMPIDatatypeInfo > & | dataInfo | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
| void walberla::blockforest::communication::UniformDirectScheme< Stencil >::startCommunication | ( | ) |
| void walberla::blockforest::communication::UniformDirectScheme< Stencil >::wait | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |