Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
distributedDataComm.cpp File Reference
#include "shamalgs/collective/distributedDataComm.hpp"
#include "shambase/exception.hpp"
#include "shambase/memory.hpp"
#include "shambase/stacktrace.hpp"
#include "shamalgs/collective/sparse_exchange.hpp"
#include "shamalgs/serialize.hpp"
#include "shambackends/DeviceBuffer.hpp"
#include "shambackends/DeviceScheduler.hpp"
#include "shamcmdopt/env.hpp"
#include <memory>
#include <vector>
+ Include dependency graph for distributedDataComm.cpp:

Go to the source code of this file.

Classes

struct  shamalgs::collective::details::DataTmp
 
class  shamalgs::collective::details::PrepareCommUtil
 

Namespaces

namespace  shamalgs
 namespace to contain everything implemented by shamalgs
 

Functions

auto shamalgs::collective::details::serialize_group_data (std::shared_ptr< sham::DeviceScheduler > dev_sched, std::map< std::pair< i32, i32 >, std::vector< DataTmp > > &send_data) -> std::map< std::pair< i32, i32 >, SerializeHelper >
 
auto shamalgs::collective::details::serialize_group_data_max_size (std::shared_ptr< sham::DeviceScheduler > dev_sched, std::map< std::pair< i32, i32 >, std::vector< DataTmp > > &send_data, u64 max_comm_size) -> std::vector< PrepareCommUtil >
 
void shamalgs::collective::distributed_data_sparse_comm_old (sham::DeviceScheduler_ptr dev_sched, SerializedDDataComm &send_distrib_data, SerializedDDataComm &recv_distrib_data, std::function< i32(u64)> rank_getter, std::optional< SparseCommTable > comm_table)
 
void shamalgs::collective::distributed_data_sparse_comm (sham::DeviceScheduler_ptr dev_sched, SerializedDDataComm &send_distrib_data, SerializedDDataComm &recv_distrib_data, std::function< i32(u64)> rank_getter, DDSCommCache &cache, std::optional< SparseCommTable > comm_table, size_t max_comm_size)
 

Variables

auto SPARSE_COMM_MODE
 

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 distributedDataComm.cpp.

Function Documentation

◆ distributed_data_sparse_comm()

void shamalgs::collective::distributed_data_sparse_comm ( sham::DeviceScheduler_ptr  dev_sched,
SerializedDDataComm send_distrib_data,
SerializedDDataComm recv_distrib_data,
std::function< i32(u64)>  rank_getter,
DDSCommCache cache,
std::optional< SparseCommTable comm_table,
size_t  max_comm_size 
)

Definition at line 309 of file distributedDataComm.cpp.

◆ distributed_data_sparse_comm_old()

void shamalgs::collective::distributed_data_sparse_comm_old ( sham::DeviceScheduler_ptr  dev_sched,
SerializedDDataComm send_distrib_data,
SerializedDDataComm recv_distrib_data,
std::function< i32(u64)>  rank_getter,
std::optional< SparseCommTable comm_table 
)

Definition at line 201 of file distributedDataComm.cpp.

◆ serialize_group_data()

auto shamalgs::collective::details::serialize_group_data ( std::shared_ptr< sham::DeviceScheduler dev_sched,
std::map< std::pair< i32, i32 >, std::vector< DataTmp > > &  send_data 
) -> std::map<std::pair<i32, i32>, SerializeHelper>

Definition at line 68 of file distributedDataComm.cpp.

◆ serialize_group_data_max_size()

auto shamalgs::collective::details::serialize_group_data_max_size ( std::shared_ptr< sham::DeviceScheduler dev_sched,
std::map< std::pair< i32, i32 >, std::vector< DataTmp > > &  send_data,
u64  max_comm_size 
) -> std::vector<PrepareCommUtil>

Definition at line 130 of file distributedDataComm.cpp.

Variable Documentation

◆ SPARSE_COMM_MODE

auto SPARSE_COMM_MODE
Initial value:
"SPARSE_COMM_MODE", "new", "Sparse communication mode (new=with cache, old=without cache)")
std::string getenv_str_default_register(const char *env_var, std::string default_val, std::string desc)
Get the content of the environment variable if it exist and register it documentation,...
Definition env.hpp:88

Definition at line 29 of file distributedDataComm.cpp.