19class ALIEN_EXPORT SimpleCSRDistributor
25 virtual ~SimpleCSRDistributor() =
default;
27 template <
typename NumT>
30 template <
typename NumT>
33 [[nodiscard]] std::shared_ptr<const Alien::SimpleCSRInternal::CSRStructInfo> getDstProfile()
const
40 std::optional<T> _owner(
const std::vector<T>& offset, T global_row_id);
42 void _distribute(
const int bb,
const T* src, T* dst);
44 void _resizeBuffers(
const int bb);
45 void _finishExchange();
46 std::optional<int> _dstMe(
int)
const;
51 std::vector<Integer> m_row_list;
52 std::size_t m_n_item = 0;
53 std::vector<uint64_t> m_buffer;
54 Arccore::MessagePassing::PointToPointMessageInfo m_message_info;
55 Arccore::MessagePassing::Request m_request;
61 std::shared_ptr<Alien::SimpleCSRInternal::CSRStructInfo> m_dst_profile;
64 std::map<int, CommInfo> m_send_comm_info;
65 std::map<int, CommInfo> m_recv_comm_info;
68 std::vector<std::pair<Integer, Integer>> m_src2dst_row_list;