Citlali
|
The Coordinator struct This wraps around the config object and provides high level methods in various ways to setup the MPI runtime with node-local and cross-node environment. More...
Classes | |
struct | Observation |
The Observation struct This represents a single observation that contains a set of data items. More... | |
Public Types | |
using | config_t = ConfigMixin::config_t |
using | comm_t = mpi_utils::comm |
using | index_t = predefs::index_t |
using | shape_t = predefs::shape_t |
using | payloads_buffer_data_t = predefs::data_t |
using | payloads_buffer_t = mpi_utils::Span< payloads_buffer_data_t, index_t > |
using | payloads_buffer_accessor_t = BlockAccessor< payloads_buffer_t::mat_t, 2 > |
![]() | |
using | config_t = YamlConfig |
Public Member Functions | |
Coordinator (const comm_t &comm_, const comm_t &comm_local_, MPI_Win &win_local_) | |
constexpr auto | n_nodes () const |
constexpr auto | node_index () const |
const auto & | node_name () const |
constexpr auto | rank () const |
constexpr auto | master_rank () const |
constexpr auto | is_master () const |
constexpr auto | rank_local () const |
constexpr auto | master_rank_local () const |
constexpr auto | is_master_local () const |
constexpr auto | worker_index_local () const |
constexpr auto | n_workers_local () const |
void | sync () |
std::size_t | io_buffer_size () |
constexpr auto | n_inputs () const |
const std::vector< payload_t > & | collect_payloads (std::size_t input_index) |
auto | allocate_payloads_buffer () |
![]() | |
ConfigMixin ()=default | |
ConfigMixin (Args &&... args) | |
const config_t & | config () |
void | set_config (config_t config, bool validate=true) |
Public Attributes | |
const comm_t & | comm |
const comm_t & | comm_local |
MPI_Win & | win_local |
Static Public Attributes | |
static constexpr index_t | not_a_worker = -1 |
static constexpr auto | payloads_buffer_time_axis = 0 |
static constexpr auto | payloads_buffer_interface_axis = 1 |
Private Types | |
using | input_t = Observation |
using | payload_t = Observation::DataItem |
Private Member Functions | |
const std::vector< input_t > & | collect_inputs () |
Private Attributes | |
std::vector< input_t > | m_inputs |
std::vector< payload_t > | m_payloads |
The Coordinator struct This wraps around the config object and provides high level methods in various ways to setup the MPI runtime with node-local and cross-node environment.
using Coordinator::comm_t = mpi_utils::comm |
using Coordinator::index_t = predefs::index_t |
|
private |
|
private |
using Coordinator::payloads_buffer_accessor_t = BlockAccessor<payloads_buffer_t::mat_t, 2> |
using Coordinator::payloads_buffer_t = mpi_utils::Span<payloads_buffer_data_t, index_t> |
using Coordinator::shape_t = predefs::shape_t |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
Sync the config. This is done to the global comm.
|
inlineconstexpr |
const comm_t& Coordinator::comm |
const comm_t& Coordinator::comm_local |
|
private |
|
private |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
MPI_Win& Coordinator::win_local |