Reference documentation for deal.II version 9.3.3
|
#include <deal.II/base/mpi_consensus_algorithms.h>
Public Member Functions | |
Interface (Process< T1, T2 > &process, const MPI_Comm &comm) | |
virtual | ~Interface ()=default |
virtual std::vector< unsigned int > | run ()=0 |
Protected Attributes | |
Process< T1, T2 > & | process |
const MPI_Comm & | comm |
const bool | job_supports_mpi |
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 166 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 and return the requesting processes.
Implemented in Utilities::MPI::ConsensusAlgorithms::NBX< T1, T2 >, Utilities::MPI::ConsensusAlgorithms::PEX< T1, T2 >, Utilities::MPI::ConsensusAlgorithms::Serial< T1, T2 >, and Utilities::MPI::ConsensusAlgorithms::Selector< T1, T2 >.
|
protected |
Reference to the process provided by the user.
Definition at line 186 of file mpi_consensus_algorithms.h.
|
protected |
MPI communicator.
Definition at line 191 of file mpi_consensus_algorithms.h.
|
protected |
Cache if job supports MPI.
Definition at line 196 of file mpi_consensus_algorithms.h.
|
protected |
Rank of this process.
Definition at line 201 of file mpi_consensus_algorithms.h.
|
protected |
Number of processes in the communicator.
Definition at line 206 of file mpi_consensus_algorithms.h.