OGS
MPI.h File Reference
#include <algorithm>
#include <concepts>
#include "Algorithm.h"
#include "DemangleTypeInfo.h"
#include "Error.h"
#include <mpi.h>
Include dependency graph for MPI.h:

Go to the source code of this file.

Classes

struct  BaseLib::MPI::Setup
struct  BaseLib::MPI::Mpi
class  BaseLib::MPI::AnotherMPIRankThrew< BaseException >

Namespaces

namespace  BaseLib
namespace  BaseLib::MPI

Functions

template<typename T>
constexpr MPI_Datatype BaseLib::MPI::mpiType ()
template<typename T>
static std::vector< T > BaseLib::MPI::allgather (T const &value, Mpi const &mpi)
template<typename T>
static std::vector< T > BaseLib::MPI::allgather (std::vector< T > const &vector, Mpi const &mpi)
template<typename T>
static T BaseLib::MPI::allreduce (T const &value, MPI_Op const &mpi_op, Mpi const &mpi)
template<typename T>
static std::vector< T > BaseLib::MPI::allreduce (std::vector< T > const &vector, MPI_Op const &mpi_op, Mpi const &mpi)
template<typename T>
static void BaseLib::MPI::allreduceInplace (std::vector< T > &vector, MPI_Op const &mpi_op, Mpi const &mpi)
template<typename T>
static std::vector< int > BaseLib::MPI::allgatherv (std::span< T > const send_buffer, std::vector< std::remove_const_t< T > > &receive_buffer, Mpi const &mpi)
static bool BaseLib::MPI::anyOf (bool const val, Mpi const &mpi=Mpi{OGS_COMM_WORLD})
static bool BaseLib::MPI::allOf (bool const val, Mpi const &mpi=Mpi{OGS_COMM_WORLD})
template<typename Exception>
void BaseLib::MPI::allRanksThrowOrNone (std::exception_ptr const &exception, auto &&warning_callback)
template<typename Exception>
void BaseLib::MPI::allRanksThrowOrNone (std::exception_ptr const &exception)
 Same as above but using the standard WARN() function for warnings.