Reference documentation for deal.II version 9.2.0
|
#include <deal.II/base/mpi_consensus_algorithms.h>
Public Member Functions | |
Interface (Process< T1, T2 > &process, const MPI_Comm &comm) | |
virtual | ~Interface ()=default |
virtual void | run ()=0 |
Protected Attributes | |
Process< T1, T2 > & | process |
const MPI_Comm & | comm |
const unsigned int | my_rank |
const unsigned int | n_procs |
A base class for algorithms that implement the task of coming up with communication patterns to retrieve data from other processes in a dynamic-sparse way. In computer science, this is often called a consensus problem.
Dynamic-sparse means in this context:
Naturally, the user has to provide:
This base class only introduces a basic interface to achieve these goals, while derived classes implement different algorithms to actually compute such communication patterns. The last two features of the list above this paragraph are implemented in classes derived from ConsensusAlgorithm::Process.
T1 | The type of the elements of the vector to be sent. |
T2 | The type of the elements of the vector to be received. |
Definition at line 170 of file mpi_consensus_algorithms.h.
Utilities::MPI::ConsensusAlgorithms::Interface< T1, T2 >::Interface | ( | Process< T1, T2 > & | process, |
const MPI_Comm & | comm | ||
) |
|
virtualdefault |
Destructor.
|
pure virtual |
Run consensus algorithm.
Implemented in Utilities::MPI::ConsensusAlgorithms::Selector< T1, T2 >, Utilities::MPI::ConsensusAlgorithms::PEX< T1, T2 >, and Utilities::MPI::ConsensusAlgorithms::NBX< T1, T2 >.
|
protected |
Reference to the process provided by the user.
Definition at line 190 of file mpi_consensus_algorithms.h.
|
protected |
MPI communicator.
Definition at line 195 of file mpi_consensus_algorithms.h.
|
protected |
Rank of this process.
Definition at line 200 of file mpi_consensus_algorithms.h.
|
protected |
Number of processes in the communicator.
Definition at line 205 of file mpi_consensus_algorithms.h.