Skip to main content

SolverCommunicator

Trait SolverCommunicator 

Source
pub trait SolverCommunicator {
    // Required methods
    fn rank(&self) -> usize;
    fn size(&self) -> usize;
    fn all_gather_fixed(
        &self,
        phase: u64,
        local: &[f64],
    ) -> Result<Vec<Vec<f64>>, SolverError>;
    fn abort(&self, reason: &str);
}
Expand description

Ordered blocking communicator. All ranks call the same solve in the same order. all_gather_fixed returns one equally-sized buffer PER rank, in rank order. abort MUST wake pending peers (or transport must have a finite timeout).

Required Methods§

Source

fn rank(&self) -> usize

Source

fn size(&self) -> usize

Source

fn all_gather_fixed( &self, phase: u64, local: &[f64], ) -> Result<Vec<Vec<f64>>, SolverError>

Source

fn abort(&self, reason: &str)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§