Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
sparse_exchange.hpp File Reference
#include "shambackends/DeviceBuffer.hpp"
#include <optional>
#include <vector>
Include dependency graph for sparse_exchange.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  shamalgs::collective::CommMessageBufOffset
struct  shamalgs::collective::CommMessageInfo
struct  shamalgs::collective::CommTable

Namespaces

namespace  shamalgs
 namespace to contain everything implemented by shamalgs

Functions

CommTable shamalgs::collective::build_sparse_exchange_table (const std::vector< CommMessageInfo > &messages_send, size_t max_alloc_size)
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)

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.hpp.

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.

◆ sparse_exchange()

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.