35 explicit RedistributorMatrix(
const MultiMatrixImpl* src_impl,
bool use_dok =
true);
36 ~RedistributorMatrix() =
default;
38 RedistributorMatrix(
const RedistributorMatrix& src) =
delete;
39 RedistributorMatrix(RedistributorMatrix&& src) =
delete;
40 RedistributorMatrix& operator=(
const RedistributorMatrix& src) =
delete;
41 RedistributorMatrix& operator=(RedistributorMatrix&& src) =
delete;
44 void clear()
override;
46 void useCSRRedistributor();
48 void setSuperPM(IMessagePassingMng* pm);
50 std::shared_ptr<MultiMatrixImpl> redistribute();
53 const IMessagePassingMng* m_super_pm;
54 std::shared_ptr<MultiMatrixImpl> m_tgt_impl;
55 std::shared_ptr<MatrixDistribution> m_tgt_dist;
56 std::unique_ptr<DoKDistributor> m_distributor;
57 bool m_use_dok =
true;
58 std::unique_ptr<SimpleCSRDistributor> m_simple_csr_distibutor;