23namespace shamalgs::collective {
30 return a.buf_id == b.buf_id && a.data_offset == b.data_offset;
43 std::optional<CommMessageBufOffset>
45 std::optional<CommMessageBufOffset>
61 const std::vector<CommMessageInfo> &messages_send,
size_t max_alloc_size);
63 template<sham::USMKindTarget target>
65 std::shared_ptr<sham::DeviceScheduler> dev_sched,
std::int32_t i32
32 bit integer
A buffer allocated in USM (Unified Shared Memory)
i32 rank_sender
Rank of the sender.
std::optional< i32 > message_tag
Tag of the MPI message.
std::optional< CommMessageBufOffset > message_bytebuf_offset_recv
Offset of the MPI message in the recv buffer.
std::optional< CommMessageBufOffset > message_bytebuf_offset_send
Offset of the MPI message in the send buffer.
i32 rank_receiver
Rank of the receiver.
size_t message_size
Size of the MPI message.
std::vector< CommMessageInfo > messages_recv
Messages to recv.
std::vector< size_t > recv_total_sizes
Total size of the recv buffer.
std::vector< size_t > send_total_sizes
Total size of the send buffer.
std::vector< size_t > send_message_global_ids
ids of messages_send in message_all
std::vector< CommMessageInfo > message_all
All messages = (allgatherv of messages_send)
std::vector< CommMessageInfo > messages_send
Messages to send.
std::vector< size_t > recv_message_global_ids
ids of messages_recv in message_all