Go to the source code of this file.
|
| namespace | shamalgs |
| | namespace to contain everything implemented by shamalgs
|
|
|
void | shamalgs::collective::distributed_data_sparse_comm (std::shared_ptr< sham::DeviceScheduler > dev_sched, SerializedDDataComm &send_ddistrib_data, SerializedDDataComm &recv_distrib_data, std::function< i32(u64)> rank_getter, DDSCommCache &cache, std::optional< SparseCommTable > comm_table={}, size_t max_comm_size=i32_max - 1) |
| template<class T> |
| void | shamalgs::collective::serialize_sparse_comm (std::shared_ptr< sham::DeviceScheduler > dev_sched, shambase::DistributedDataShared< T > &&send_distrib_data, shambase::DistributedDataShared< T > &recv_distrib_data, std::function< i32(u64)> rank_getter, std::function< sham::DeviceBuffer< u8 >(T &)> serialize, std::function< T(sham::DeviceBuffer< u8 > &&)> deserialize, DDSCommCache &cache, std::optional< SparseCommTable > comm_table={}) |
| template<class T, class P> |
| shambase::DistributedData< T > | shamalgs::collective::fetch_all_simple (shambase::DistributedData< T > &src, std::vector< P > local_ids, std::vector< P > global_ids, std::function< u64(P)> id_getter) |
| | global ids = allgatherv(local_ids)
|
| template<class T, class P> |
| shambase::DistributedData< T > | shamalgs::collective::fetch_all_storeload (shambase::DistributedData< T > &src, std::vector< P > local_ids, std::vector< P > global_ids, std::function< u64(P)> id_getter) |
| | global ids = allgatherv(local_ids)
|
◆ SerializedDDataComm
◆ fetch_all_simple()
template<class T, class P>
◆ fetch_all_storeload()
template<class T, class P>
◆ serialize_sparse_comm()