15#ifndef dealii_mpi_noncontiguous_partitioner_h
16#define dealii_mpi_noncontiguous_partitioner_h
76 const std::vector<types::global_dof_index> &indices_locally_owned,
77 const std::vector<types::global_dof_index> &indices_ghost,
104 template <
typename Number,
unsigned int n_components_templated = 1>
109 const unsigned int n_components = 0)
const;
125 template <
typename Number,
unsigned int n_components_templated = 1>
128 const unsigned int communication_channel,
133 const unsigned int n_components = 0)
const;
151 template <
typename Number,
unsigned int n_components_templated = 1>
154 const unsigned int communication_channel,
158 const unsigned int n_components = 0)
const;
174 template <
typename Number,
unsigned int n_components_templated = 1>
180 const unsigned int n_components = 0)
const;
190 template <
typename Number>
203 template <
typename Number>
206 const unsigned int communication_channel,
210 std::vector<MPI_Request> &
requests)
const;
216 template <
typename Number>
220 const unsigned int communication_channel,
223 std::vector<MPI_Request> &
requests)
const;
231 template <
typename Number>
237 std::vector<MPI_Request> &
requests)
const;
243 std::pair<unsigned int, unsigned int>
277 reinit(
const std::vector<types::global_dof_index> &locally_owned_indices,
278 const std::vector<types::global_dof_index> &ghost_indices,
void reinit(const IndexSet &locally_owned_indices, const IndexSet &ghost_indices, const MPI_Comm communicator) override
std::vector< std::uint8_t > buffers
void export_to_ghosted_array_start(const unsigned int communication_channel, const ArrayView< const Number > &locally_owned_array, const ArrayView< Number > &temporary_storage, std::vector< MPI_Request > &requests, const unsigned int n_components=0) const
MPI_Comm get_mpi_communicator() const override
std::vector< MPI_Request > requests
void export_to_ghosted_array(const ArrayView< const Number > &locally_owned_array, const ArrayView< Number > &ghost_array, const unsigned int n_components=0) const
types::global_dof_index memory_consumption()
void import_from_ghosted_array(const VectorOperation::values vector_operation, const ArrayView< Number > &ghost_array, const ArrayView< Number > &locally_owned_storage) const
void import_from_ghosted_array_start(const VectorOperation::values vector_operation, const unsigned int communication_channel, const ArrayView< Number > &ghost_array, const ArrayView< Number > &temporary_storage, std::vector< MPI_Request > &requests) const
unsigned int temporary_storage_size() const
std::vector< types::global_dof_index > recv_ptr
std::vector< types::global_dof_index > send_ptr
std::vector< unsigned int > send_ranks
void import_from_ghosted_array_finish(const VectorOperation::values vector_operation, const ArrayView< const Number > &temporary_storage, const ArrayView< Number > &locally_owned_storage, std::vector< MPI_Request > &requests) const
void export_to_ghosted_array(const unsigned int communication_channel, const ArrayView< const Number > &locally_owned_array, const ArrayView< Number > &temporary_storage, const ArrayView< Number > &ghost_array, std::vector< MPI_Request > &requests, const unsigned int n_components=0) const
std::vector< types::global_dof_index > recv_indices
std::pair< unsigned int, unsigned int > n_targets() const
std::vector< types::global_dof_index > send_indices
std::vector< unsigned int > recv_ranks
NoncontiguousPartitioner()=default
void export_to_ghosted_array_finish(const ArrayView< const Number > &temporary_storage, const ArrayView< Number > &ghost_array, std::vector< MPI_Request > &requests, const unsigned int n_components=0) const
void import_from_ghosted_array(const VectorOperation::values vector_operation, const unsigned int communication_channel, const ArrayView< Number > &ghost_array, const ArrayView< Number > &temporary_storage, const ArrayView< Number > &locally_owned_storage, std::vector< MPI_Request > &requests) const
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE