|
| | MPIDirectCommunication () |
| | ~MPIDirectCommunication () override |
| size_t | getRemoteCommunicatorSize () override |
| | Returns the number of processes in the remote communicator.
|
| void | acceptConnection (std::string const &acceptorName, std::string const &requesterName, std::string const &tag, int acceptorRank, int rankOffset=0) override |
| void | acceptConnectionAsServer (std::string const &acceptorName, std::string const &requesterName, std::string const &tag, int acceptorRank, int requesterCommunicatorSize) override |
| void | requestConnection (std::string const &acceptorName, std::string const &requesterName, std::string const &tag, int requesterRank, int requesterCommunicatorSize) override |
| void | requestConnectionAsClient (std::string const &acceptorName, std::string const &requesterName, std::string const &tag, std::set< int > const &acceptorRanks, int requesterRank) override |
| void | closeConnection () override |
| | See precice::com::Communication::closeConnection().
|
| void | reduceSum (precice::span< double const > itemsToSend, precice::span< double > itemsToReceive, Rank primaryRank) override |
| void | reduceSum (precice::span< double const > itemsToSend, precice::span< double > itemsToReceive) override |
| void | reduceSum (int itemToSend, int &itemsToReceive, Rank primaryRank) override |
| void | reduceSum (int itemToSend, int &itemsToReceive) override |
| void | allreduceSum (precice::span< double const > itemsToSend, precice::span< double > itemsToReceive, Rank primaryRank) override |
| void | allreduceSum (precice::span< double const > itemsToSend, precice::span< double > itemsToReceive) override |
| void | allreduceSum (double itemToSend, double &itemsToReceive, Rank primaryRank) override |
| void | allreduceSum (double itemToSend, double &itemsToReceive) override |
| void | allreduceSum (int itemToSend, int &itemsToReceive, Rank primaryRank) override |
| void | allreduceSum (int itemToSend, int &itemsToReceive) override |
| void | broadcast (precice::span< const int > itemsToSend) override |
| void | broadcast (precice::span< int > itemsToReceive, Rank rankBroadcaster) override |
| void | broadcast (int itemToSend) override |
| void | broadcast (int &itemToReceive, Rank rankBroadcaster) override |
| void | broadcast (precice::span< const double > itemsToSend) override |
| void | broadcast (precice::span< double > itemsToReceive, Rank rankBroadcaster) override |
| void | broadcast (double itemToSend) override |
| void | broadcast (double &itemToReceive, Rank rankBroadcaster) override |
| void | broadcast (bool itemToSend) override |
| void | broadcast (bool &itemToReceive, Rank rankBroadcaster) override |
| | MPICommunication () |
| | ~MPICommunication () override=default |
| | Destructor, empty.
|
| void | send (std::string const &itemToSend, Rank rankReceiver) override |
| | Sends a std::string to process with given rank.
|
| void | send (precice::span< const int > itemsToSend, Rank rankReceiver) override |
| | Sends an array of integer values.
|
| PtrRequest | aSend (precice::span< const int > itemsToSend, Rank rankReceiver) override |
| | Asynchronously sends an array of integer values.
|
| void | send (precice::span< const double > itemsToSend, Rank rankReceiver) override |
| | Sends an array of double values.
|
| PtrRequest | aSend (precice::span< const double > itemsToSend, Rank rankReceiver) override |
| | Asynchronously sends an array of double values.
|
| void | send (double itemToSend, Rank rankReceiver) override |
| | Sends a double to process with given rank.
|
| PtrRequest | aSend (const double &itemToSend, Rank rankReceiver) override |
| | Asynchronously sends a double to process with given rank.
|
| void | send (int itemToSend, Rank rankReceiver) override |
| | Sends an int to process with given rank.
|
| PtrRequest | aSend (const int &itemToSend, Rank rankReceiver) override |
| | Asynchronously sends an int to process with given rank.
|
| void | send (bool itemToSend, Rank rankReceiver) override |
| | Sends a bool to process with given rank.
|
| PtrRequest | aSend (const bool &itemToSend, Rank rankReceiver) override |
| | Asynchronously sends a bool to process with given rank.
|
| void | receive (std::string &itemToReceive, Rank rankSender) override |
| | Receives a std::string from process with given rank.
|
| void | receive (precice::span< int > itemsToReceive, Rank rankSender) override |
| | Receives an array of integer values.
|
| void | receive (precice::span< double > itemsToReceive, Rank rankSender) override |
| | Receives an array of double values.
|
| PtrRequest | aReceive (precice::span< double > itemsToReceive, int rankSender) override |
| | Asynchronously receives an array of double values.
|
| void | receive (double &itemToReceive, Rank rankSender) override |
| | Receives a double from process with given rank.
|
| PtrRequest | aReceive (double &itemToReceive, Rank rankSender) override |
| | Asynchronously receives a double from process with given rank.
|
| void | receive (int &itemToReceive, Rank rankSender) override |
| | Receives an int from process with given rank.
|
| PtrRequest | aReceive (int &itemToReceive, Rank rankSender) override |
| | Asynchronously receives an int from process with given rank.
|
| void | receive (bool &itemToReceive, Rank rankSender) override |
| | Receives a bool from process with given rank.
|
| PtrRequest | aReceive (bool &itemToReceive, Rank rankSender) override |
| | Asynchronously receives a bool from process with given rank.
|
Provides connection methods for processes located in one communicator.
This communication class can be used when the communicating participants are either compiled into one executable or, are started by one mpi execution call on the command line.
It is important, that all processes in the used communicator have to participate in the communication. If one of the processes does not call either acceptConnection(), or closeConnection(), a deadlock is achieved.
Definition at line 28 of file MPIDirectCommunication.hpp.