#include <BufferSystemHelper.h>
◆ AbstractCommunication()
template<typename RecvBuffer_T , typename SendBuffer_T >
◆ ~AbstractCommunication()
template<typename RecvBuffer_T , typename SendBuffer_T >
◆ getCommunicator()
template<typename RecvBuffer_T , typename SendBuffer_T >
◆ getTag()
template<typename RecvBuffer_T , typename SendBuffer_T >
◆ scheduleReceives()
template<typename RecvBuffer_T , typename SendBuffer_T >
Executes MPI_Irecv calls, with the recvInfos as target memory.
- Parameters
-
recvInfos | Map that has entries for all ranks where messages are expected. The KnownSizeCommunication also expects the size field to be valid ( defining the expected message size) Do not change/read the recvInfos after scheduleReceive() call and before waitForNextReceive() is completed |
Implemented in walberla::mpi::internal::NoMPICommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::NoMPICommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::NoMPICommunication< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer, SendBuffer >, walberla::mpi::internal::KnownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::KnownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, and walberla::mpi::internal::KnownSizeCommunication< RecvBuffer, SendBuffer >.
◆ send()
template<typename RecvBuffer_T , typename SendBuffer_T >
Send buffer content to receiver using MPI_ISend, request is stored internally -> see waitForSends()
Implemented in walberla::mpi::internal::NoMPICommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::KnownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::NoMPICommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::KnownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::NoMPICommunication< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer, SendBuffer >, and walberla::mpi::internal::KnownSizeCommunication< RecvBuffer, SendBuffer >.
◆ waitForNextReceive()
template<typename RecvBuffer_T , typename SendBuffer_T >
Waits for the next receive to complete and returns.
- Parameters
-
- Returns
- The rank where the data was received -> recvInfos[rank] is now valid INVALID_RANK if all messages were received.
Implemented in walberla::mpi::internal::NoMPICommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::NoMPICommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::NoMPICommunication< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer, SendBuffer >, walberla::mpi::internal::KnownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::KnownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, and walberla::mpi::internal::KnownSizeCommunication< RecvBuffer, SendBuffer >.
◆ waitForSends()
template<typename RecvBuffer_T , typename SendBuffer_T >
Wait for all sends to complete.
Implemented in walberla::mpi::internal::NoMPICommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::NoMPICommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::NoMPICommunication< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunicationIProbe< RecvBuffer, SendBuffer >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::UnknownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, walberla::mpi::internal::UnknownSizeCommunication< RecvBuffer, SendBuffer >, walberla::mpi::internal::KnownSizeCommunication< RecvBuffer_T, SendBuffer_T >, walberla::mpi::internal::KnownSizeCommunication< walberla::gpu::communication::CustomMemoryBuffer, walberla::gpu::communication::CustomMemoryBuffer >, and walberla::mpi::internal::KnownSizeCommunication< RecvBuffer, SendBuffer >.
◆ communicator_
template<typename RecvBuffer_T , typename SendBuffer_T >
◆ tag_
template<typename RecvBuffer_T , typename SendBuffer_T >
The documentation for this class was generated from the following file: