core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::solver::AndersonComm Struct Reference

The collectives of a distributed run. More...

#include <anderson.hpp>

Public Attributes

std::function< void(double *data, int count)> sumAll
 
std::function< void(void *data, std::size_t bytes)> broadcast
 
int rank = 0
 this rank in the communicator; rank 0's decisions win (design §6.1)
 

Detailed Description

The collectives of a distributed run.

Both callables empty = a single rank (serial, or np = 1 without them). sumAll(data, n) replaces data[0..n) by its global sum on every rank (MPI_Allreduce SUM); broadcast(data, bytes) copies rank 0's bytes to every rank (MPI_Bcast). solver/anderson_mpi.hpp builds one from an MPI_Comm.

Definition at line 44 of file anderson.hpp.

Member Data Documentation

◆ sumAll

std::function<void(double* data, int count)> peclet::core::solver::AndersonComm::sumAll

Definition at line 45 of file anderson.hpp.

Referenced by peclet::core::solver::andersonComm().

◆ broadcast

std::function<void(void* data, std::size_t bytes)> peclet::core::solver::AndersonComm::broadcast

Definition at line 46 of file anderson.hpp.

Referenced by peclet::core::solver::andersonComm().

◆ rank

int peclet::core::solver::AndersonComm::rank = 0

this rank in the communicator; rank 0's decisions win (design §6.1)

Definition at line 47 of file anderson.hpp.

Referenced by peclet::core::solver::andersonComm(), and peclet::core::solver::AndersonCore::stepFailed().


The documentation for this struct was generated from the following file: