schwz
Generated automatically from develop
|
The communication struct used to store the communication data. More...
#include <communicate.hpp>
Public Attributes | |
int | num_neighbors_in |
The number of neighbors this subdomain has to receive data from. | |
int | num_neighbors_out |
The number of neighbors this subdomain has to send data to. | |
std::shared_ptr< gko::Array< IndexType > > | neighbors_in |
The neighbors this subdomain has to receive data from. | |
std::shared_ptr< gko::Array< IndexType > > | neighbors_out |
The neighbors this subdomain has to send data to. | |
std::vector< bool > | is_local_neighbor |
The bool vector which is true if the neighbors of a subdomain are in one node. More... | |
int | local_num_neighbors_in |
The number of neighbors this subdomain has to receive data from. | |
int | local_num_neighbors_out |
The number of neighbors this subdomain has to send data to. | |
std::shared_ptr< gko::Array< IndexType > > | local_neighbors_in |
The neighbors this subdomain has to receive data from. | |
std::shared_ptr< gko::Array< IndexType > > | local_neighbors_out |
The neighbors this subdomain has to send data to. | |
std::shared_ptr< gko::Array< IndexType * > > | global_put |
The array containing the number of elements that each subdomain sends from the other. More... | |
std::shared_ptr< gko::Array< IndexType * > > | local_put |
The array containing the number of elements that each subdomain sends from the other. More... | |
std::shared_ptr< gko::Array< IndexType * > > | global_get |
The array containing the number of elements that each subdomain gets from the other. More... | |
std::shared_ptr< gko::Array< IndexType * > > | local_get |
The array containing the number of elements that each subdomain gets from the other. More... | |
std::vector< IndexType > | send |
The number of elements being sent to each subdomain. | |
std::vector< IndexType > | recv |
The number of elements being sent to each subdomain. | |
std::shared_ptr< gko::Array< IndexType > > | window_ids |
The RDMA window ids. | |
std::shared_ptr< gko::Array< IndexType > > | windows_from |
The RDMA window ids to receive data from. | |
std::shared_ptr< gko::Array< IndexType > > | windows_to |
The RDMA window ids to send data to. | |
std::shared_ptr< gko::Array< MPI_Request > > | put_request |
The put request array. | |
std::shared_ptr< gko::Array< MPI_Request > > | get_request |
The get request array. | |
std::shared_ptr< gko::matrix::Dense< ValueType > > | send_buffer |
The send buffer used for the actual communication for both one-sided and two-sided (always allocated). | |
std::shared_ptr< gko::matrix::Dense< MixedValueType > > | mixedt_send_buffer |
The mixed send buffer used for the actual communication for both one-sided and two-sided. | |
std::shared_ptr< gko::matrix::Dense< ValueType > > | recv_buffer |
The recv buffer used for the actual communication for both one-sided and two-sided (always allocated). | |
std::shared_ptr< gko::matrix::Dense< MixedValueType > > | mixedt_recv_buffer |
The mixed precision recv buffer used for the actual communication for both one-sided and two-sided. | |
std::shared_ptr< gko::Array< IndexType > > | get_displacements |
The displacements for the receiving of the buffer. | |
std::shared_ptr< gko::Array< IndexType > > | put_displacements |
The displacements for the sending of the buffer. | |
MPI_Win | window_recv_buffer |
The RDMA window for the recv buffer. | |
MPI_Win | window_send_buffer |
The RDMA window for the send buffer. | |
MPI_Win | window_x |
The RDMA window for the solution vector. | |
The communication struct used to store the communication data.
std::shared_ptr<gko::Array<IndexType *> > schwz::Communicate< ValueType, IndexType, MixedValueType >::comm_struct::global_get |
The array containing the number of elements that each subdomain gets from the other.
For example. global_get[p][0] contains the overall number of elements to be received to subdomain p and global_put[p][i] contains the index of the solution vector to be received from subdomain p.
Referenced by schwz::SchwarzBase< ValueType, IndexType, MixedValueType >::initialize(), schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_comm_buffers(), and schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_windows().
std::shared_ptr<gko::Array<IndexType *> > schwz::Communicate< ValueType, IndexType, MixedValueType >::comm_struct::global_put |
The array containing the number of elements that each subdomain sends from the other.
For example. global_put[p][0] contains the overall number of elements to be sent to subdomain p and global_put[p][i] contains the index of the solution vector to be sent to subdomain p.
Referenced by schwz::SchwarzBase< ValueType, IndexType, MixedValueType >::initialize(), schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_comm_buffers(), and schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_windows().
std::vector<bool> schwz::Communicate< ValueType, IndexType, MixedValueType >::comm_struct::is_local_neighbor |
The bool vector which is true if the neighbors of a subdomain are in one node.
Referenced by schwz::SchwarzBase< ValueType, IndexType, MixedValueType >::initialize(), schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_comm_buffers(), and schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_windows().
std::shared_ptr<gko::Array<IndexType *> > schwz::Communicate< ValueType, IndexType, MixedValueType >::comm_struct::local_get |
The array containing the number of elements that each subdomain gets from the other.
For example. global_get[p][0] contains the overall number of elements to be received to subdomain p and global_put[p][i] contains the index of the solution vector to be received from subdomain p.
Referenced by schwz::SchwarzBase< ValueType, IndexType, MixedValueType >::initialize(), schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_comm_buffers(), and schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_windows().
std::shared_ptr<gko::Array<IndexType *> > schwz::Communicate< ValueType, IndexType, MixedValueType >::comm_struct::local_put |
The array containing the number of elements that each subdomain sends from the other.
For example. global_put[p][0] contains the overall number of elements to be sent to subdomain p and global_put[p][i] contains the index of the solution vector to be sent to subdomain p.
Referenced by schwz::SchwarzBase< ValueType, IndexType, MixedValueType >::initialize(), schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_comm_buffers(), and schwz::SolverRAS< ValueType, IndexType, MixedValueType >::setup_windows().