15#ifndef dealii_mpi_noncontiguous_partitioner_h
16#define dealii_mpi_noncontiguous_partitioner_h
74 const std::vector<types::global_dof_index> &indices_locally_owned,
75 const std::vector<types::global_dof_index> &indices_ghost,
94 template <
typename Number>
114 template <
typename Number>
117 const unsigned int communication_channel,
121 std::vector<MPI_Request> &
requests)
const;
139 template <
typename Number>
142 const unsigned int communication_channel,
145 std::vector<MPI_Request> &
requests)
const;
161 template <
typename Number>
166 std::vector<MPI_Request> &
requests)
const;
176 template <
typename Number>
189 template <
typename Number>
192 const unsigned int communication_channel,
196 std::vector<MPI_Request> &
requests)
const;
202 template <
typename Number>
206 const unsigned int communication_channel,
209 std::vector<MPI_Request> &
requests)
const;
217 template <
typename Number>
223 std::vector<MPI_Request> &
requests)
const;
229 std::pair<unsigned int, unsigned int>
263 reinit(
const std::vector<types::global_dof_index> &locally_owned_indices,
264 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
MPI_Comm get_mpi_communicator() const override
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
std::vector< MPI_Request > requests
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
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
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_finish(const ArrayView< const Number > &temporary_storage, const ArrayView< Number > &ghost_array, std::vector< MPI_Request > &requests) const
std::vector< types::global_dof_index > recv_indices
std::pair< unsigned int, unsigned int > n_targets() const
void export_to_ghosted_array(const ArrayView< const Number > &locally_owned_array, const ArrayView< Number > &ghost_array) const
std::vector< types::global_dof_index > send_indices
std::vector< unsigned int > recv_ranks
NoncontiguousPartitioner()=default
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