Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
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 296 of file sparse_exchange.cpp.