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,
102 template <
typename Number,
unsigned int n_components_templated = 1>
107 const unsigned int n_components = 0)
const;
123 template <
typename Number,
unsigned int n_components_templated = 1>
126 const unsigned int communication_channel,
131 const unsigned int n_components = 0)
const;
149 template <
typename Number,
unsigned int n_components_templated = 1>
152 const unsigned int communication_channel,
156 const unsigned int n_components = 0)
const;
172 template <
typename Number,
unsigned int n_components_templated = 1>
178 const unsigned int n_components = 0)
const;
188 template <
typename Number>
201 template <
typename Number>
204 const unsigned int communication_channel,
208 std::vector<MPI_Request> &
requests)
const;
214 template <
typename Number>
218 const unsigned int communication_channel,
221 std::vector<MPI_Request> &
requests)
const;
229 template <
typename Number>
235 std::vector<MPI_Request> &
requests)
const;
241 std::pair<unsigned int, unsigned int>
275 reinit(
const std::vector<types::global_dof_index> &locally_owned_indices,
276 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