Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
sparseXchg.cpp File Reference
#include "shamalgs/collective/sparseXchg.hpp"
#include "shambase/exception.hpp"
#include "shambase/string.hpp"
#include "shambase/time.hpp"
#include "shamalgs/collective/RequestList.hpp"
#include "shamcmdopt/env.hpp"
#include "shamcomm/logs.hpp"
#include "shamcomm/worldInfo.hpp"
#include <stdexcept>
#include <string>
#include <thread>
#include <vector>
+ Include dependency graph for sparseXchg.cpp:

Go to the source code of this file.

Namespaces

namespace  shamalgs
 namespace to contain everything implemented by shamalgs
 

Functions

void shamalgs::collective::sparse_comm_debug_infos (std::shared_ptr< sham::DeviceScheduler > dev_sched, const std::vector< SendPayload > &message_send, std::vector< RecvPayload > &message_recv, const SparseCommTable &comm_table)
 
void shamalgs::collective::sparse_comm_isend_probe_count_irecv (std::shared_ptr< sham::DeviceScheduler > dev_sched, const std::vector< SendPayload > &message_send, std::vector< RecvPayload > &message_recv, const SparseCommTable &comm_table)
 
void shamalgs::collective::sparse_comm_allgather_isend_irecv (std::shared_ptr< sham::DeviceScheduler > dev_sched, const std::vector< SendPayload > &message_send, std::vector< RecvPayload > &message_recv, const SparseCommTable &comm_table)
 

Variables

auto get_SHAM_SPARSE_COMM_INFLIGHT_LIM
 
const u64 SHAM_SPARSE_COMM_INFLIGHT_LIM = get_SHAM_SPARSE_COMM_INFLIGHT_LIM()
 

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

Function Documentation

◆ sparse_comm_allgather_isend_irecv()

void shamalgs::collective::sparse_comm_allgather_isend_irecv ( std::shared_ptr< sham::DeviceScheduler dev_sched,
const std::vector< SendPayload > &  message_send,
std::vector< RecvPayload > &  message_recv,
const SparseCommTable comm_table 
)

Definition at line 397 of file sparseXchg.cpp.

◆ sparse_comm_debug_infos()

void shamalgs::collective::sparse_comm_debug_infos ( std::shared_ptr< sham::DeviceScheduler dev_sched,
const std::vector< SendPayload > &  message_send,
std::vector< RecvPayload > &  message_recv,
const SparseCommTable comm_table 
)

Definition at line 237 of file sparseXchg.cpp.

◆ sparse_comm_isend_probe_count_irecv()

void shamalgs::collective::sparse_comm_isend_probe_count_irecv ( std::shared_ptr< sham::DeviceScheduler dev_sched,
const std::vector< SendPayload > &  message_send,
std::vector< RecvPayload > &  message_recv,
const SparseCommTable comm_table 
)

Definition at line 309 of file sparseXchg.cpp.

Variable Documentation

◆ get_SHAM_SPARSE_COMM_INFLIGHT_LIM

auto get_SHAM_SPARSE_COMM_INFLIGHT_LIM
Initial value:
= []() {
"SHAM_SPARSE_COMM_INFLIGHT_LIM", "128", "Maximum number of inflight messages");
u64 ret = 128;
try {
ret = std::stoull(val);
} catch (...) {
logger::err_ln(
"Sparse comm",
shambase::format(
"Invalid value for SHAM_SPARSE_COMM_INFLIGHT_LIM {}, using default value {}",
val,
ret));
}
return ret;
}
std::uint64_t u64
64 bit unsigned integer
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 215 of file sparseXchg.cpp.

◆ SHAM_SPARSE_COMM_INFLIGHT_LIM

const u64 SHAM_SPARSE_COMM_INFLIGHT_LIM = get_SHAM_SPARSE_COMM_INFLIGHT_LIM()

Definition at line 234 of file sparseXchg.cpp.