15#ifndef dealii_mpi_noncontiguous_partitioner_h
16#define dealii_mpi_noncontiguous_partitioner_h
75 const std::vector<types::global_dof_index> &indices_locally_owned,
76 const std::vector<types::global_dof_index> &indices_ghost,
103 template <
typename Number,
unsigned int n_components_templated = 1>
108 const unsigned int n_components = 0)
const;
124 template <
typename Number,
unsigned int n_components_templated = 1>
127 const unsigned int communication_channel,
132 const unsigned int n_components = 0)
const;
150 template <
typename Number,
unsigned int n_components_templated = 1>
153 const unsigned int communication_channel,
157 const unsigned int n_components = 0)
const;
173 template <
typename Number,
unsigned int n_components_templated = 1>
179 const unsigned int n_components = 0)
const;
189 template <
typename Number>
202 template <
typename Number>
205 const unsigned int communication_channel,
209 std::vector<MPI_Request> &
requests)
const;
215 template <
typename Number>
219 const unsigned int communication_channel,
222 std::vector<MPI_Request> &
requests)
const;
230 template <
typename Number>
236 std::vector<MPI_Request> &
requests)
const;
242 std::pair<unsigned int, unsigned int>
276 reinit(
const std::vector<types::global_dof_index> &locally_owned_indices,
277 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