Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
sparse_exchange.cpp File Reference
Include dependency graph for sparse_exchange.cpp:

Go to the source code of this file.

Namespaces

namespace  shamalgs
 namespace to contain everything implemented by shamalgs

Functions

CommMessageInfo shamalgs::collective::unpack (u64_2 comm_info)
std::vector< u64_2 > shamalgs::collective::fetch_global_message_data (const std::vector< CommMessageInfo > &messages_send)
 fetch u64_2 from global message data
std::vector< CommMessageInfoshamalgs::collective::decode_all_message (const std::vector< u64_2 > &global_data)
 decode message to get message
void shamalgs::collective::compute_tags (std::vector< CommMessageInfo > &message_all)
 compute message tags
CommTable shamalgs::collective::build_sparse_exchange_table (const std::vector< CommMessageInfo > &messages_send, size_t max_alloc_size)
void shamalgs::collective::sparse_exchange (std::shared_ptr< sham::DeviceScheduler > dev_sched, const std::vector< const u8 * > &bytebuffer_send, const std::vector< u8 * > &bytebuffer_recv, const CommTable &comm_table)
template<sham::USMKindTarget target>
void shamalgs::collective::sparse_exchange (std::shared_ptr< sham::DeviceScheduler > dev_sched, std::vector< std::unique_ptr< sham::DeviceBuffer< u8, target > > > &bytebuffer_send, std::vector< std::unique_ptr< sham::DeviceBuffer< u8, target > > > &bytebuffer_recv, const CommTable &comm_table)
template void shamalgs::collective::sparse_exchange< sham::device > (std::shared_ptr< sham::DeviceScheduler > dev_sched, std::vector< std::unique_ptr< sham::DeviceBuffer< u8, sham::device > > > &bytebuffer_send, std::vector< std::unique_ptr< sham::DeviceBuffer< u8, sham::device > > > &bytebuffer_recv, const CommTable &comm_table)
template void shamalgs::collective::sparse_exchange< sham::host > (std::shared_ptr< sham::DeviceScheduler > dev_sched, std::vector< std::unique_ptr< sham::DeviceBuffer< u8, sham::host > > > &bytebuffer_send, std::vector< std::unique_ptr< sham::DeviceBuffer< u8, sham::host > > > &bytebuffer_recv, const CommTable &comm_table)

Detailed Description

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)

Definition in file sparse_exchange.cpp.

Function Documentation

◆ build_sparse_exchange_table()

CommTable shamalgs::collective::build_sparse_exchange_table ( const std::vector< CommMessageInfo > & messages_send,
size_t max_alloc_size )

Definition at line 113 of file sparse_exchange.cpp.

◆ compute_tags()

void shamalgs::collective::compute_tags ( std::vector< CommMessageInfo > & message_all)

compute message tags

Definition at line 96 of file sparse_exchange.cpp.

Here is the call graph for this function:

◆ decode_all_message()

std::vector< CommMessageInfo > shamalgs::collective::decode_all_message ( const std::vector< u64_2 > & global_data)

decode message to get message

Definition at line 86 of file sparse_exchange.cpp.

◆ fetch_global_message_data()

std::vector< u64_2 > shamalgs::collective::fetch_global_message_data ( const std::vector< CommMessageInfo > & messages_send)

fetch u64_2 from global message data

Definition at line 57 of file sparse_exchange.cpp.

Here is the call graph for this function:

◆ sparse_exchange() [1/2]

void shamalgs::collective::sparse_exchange ( std::shared_ptr< sham::DeviceScheduler > dev_sched,
const std::vector< const u8 * > & bytebuffer_send,
const std::vector< u8 * > & bytebuffer_recv,
const CommTable & comm_table )

Definition at line 249 of file sparse_exchange.cpp.

◆ sparse_exchange() [2/2]

template<sham::USMKindTarget target>
void shamalgs::collective::sparse_exchange ( std::shared_ptr< sham::DeviceScheduler > dev_sched,
std::vector< std::unique_ptr< sham::DeviceBuffer< u8, target > > > & bytebuffer_send,
std::vector< std::unique_ptr< sham::DeviceBuffer< u8, target > > > & bytebuffer_recv,
const CommTable & comm_table )

Definition at line 298 of file sparse_exchange.cpp.

◆ unpack()

CommMessageInfo shamalgs::collective::unpack ( u64_2 comm_info)

Definition at line 32 of file sparse_exchange.cpp.