Arcane  v4.1.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la structure Arcane::Alina::mpi_communicator

Convenience wrapper around MPI_Comm. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/alina/arccore/alina/MessagePassingUtils.h>

+ Graphe de collaboration de Arcane::Alina::mpi_communicator:

Fonctions membres publiques

 mpi_communicator (MPI_Comm comm)
 
 operator MPI_Comm () const
 
template<typename T>
std::vector< T > exclusive_sum (T n) const
 Exclusive sum over mpi communicator.
 
std::complex< long double > reduceSum (const std::complex< long double > &lval) const
 
std::complex< double > reduceSum (const std::complex< double > &lval) const
 
std::complex< float > reduceSum (const std::complex< float > &lval) const
 
template<typename T>
reduceSum (const T &lval) const
 
void waitAll (ArrayView< MessagePassing::Request > requests) const
 
void wait (MessagePassing::Request request) const
 
template<class Condition, class Message>
void check (const Condition &cond, const Message &message)
 Communicator-wise condition checking.
 
template<typename T>
MessagePassing::Request doIReceive (T *buf, int count, int source, int tag) const
 
template<typename T>
void doReceive (T *buf, int count, int source, int tag) const
 
template<typename T>
MessagePassing::Request doISend (const T *buf, int count, int dest, int tag) const
 
template<typename T>
void doSend (const T *buf, int count, int dest, int tag) const
 

Attributs publics

MPI_Comm comm = MPI_COMM_NULL
 
int rank = 0
 
int size = 0
 
Ref< IMessagePassingMngm_message_passing_mng
 

Fonctions membres privées

template<typename T>
_reduce (MPI_Op op, const T &lval) const
 
template<typename T>
std::complex< T > _reduceSumForComplex (const std::complex< T > &lval) const
 

Description détaillée

Convenience wrapper around MPI_Comm.

Définition à la ligne 199 du fichier MessagePassingUtils.h.

Documentation des constructeurs et destructeur

◆ mpi_communicator()

Arcane::Alina::mpi_communicator::mpi_communicator ( MPI_Comm comm)
inlineexplicit

Définition à la ligne 208 du fichier MessagePassingUtils.h.

Documentation des fonctions membres

◆ _reduce()

template<typename T>
T Arcane::Alina::mpi_communicator::_reduce ( MPI_Op op,
const T & lval ) const
inlineprivate

Définition à la ligne 334 du fichier MessagePassingUtils.h.

◆ _reduceSumForComplex()

template<typename T>
std::complex< T > Arcane::Alina::mpi_communicator::_reduceSumForComplex ( const std::complex< T > & lval) const
inlineprivate

Définition à la ligne 344 du fichier MessagePassingUtils.h.

◆ check()

template<class Condition, class Message>
void Arcane::Alina::mpi_communicator::check ( const Condition & cond,
const Message & message )
inline

Communicator-wise condition checking.

Checks conditions at each process in the communicator;

If the condition is false on any of the participating processes, outputs the provided message together with the ranks of the offending process. After that each process in the communicator throws.

Définition à la ligne 271 du fichier MessagePassingUtils.h.

Références ARCCORE_FATAL.

◆ doIReceive()

template<typename T>
MessagePassing::Request Arcane::Alina::mpi_communicator::doIReceive ( T * buf,
int count,
int source,
int tag ) const
inline

Définition à la ligne 293 du fichier MessagePassingUtils.h.

◆ doISend()

template<typename T>
MessagePassing::Request Arcane::Alina::mpi_communicator::doISend ( const T * buf,
int count,
int dest,
int tag ) const
inline

Définition à la ligne 313 du fichier MessagePassingUtils.h.

◆ doReceive()

template<typename T>
void Arcane::Alina::mpi_communicator::doReceive ( T * buf,
int count,
int source,
int tag ) const
inline

Définition à la ligne 303 du fichier MessagePassingUtils.h.

◆ doSend()

template<typename T>
void Arcane::Alina::mpi_communicator::doSend ( const T * buf,
int count,
int dest,
int tag ) const
inline

Définition à la ligne 323 du fichier MessagePassingUtils.h.

◆ exclusive_sum()

template<typename T>
std::vector< T > Arcane::Alina::mpi_communicator::exclusive_sum ( T n) const
inline

Exclusive sum over mpi communicator.

Définition à la ligne 223 du fichier MessagePassingUtils.h.

◆ operator MPI_Comm()

Arcane::Alina::mpi_communicator::operator MPI_Comm ( ) const
inline

Définition à la ligne 216 du fichier MessagePassingUtils.h.

◆ reduceSum() [1/4]

std::complex< double > Arcane::Alina::mpi_communicator::reduceSum ( const std::complex< double > & lval) const
inline

Définition à la ligne 237 du fichier MessagePassingUtils.h.

◆ reduceSum() [2/4]

std::complex< float > Arcane::Alina::mpi_communicator::reduceSum ( const std::complex< float > & lval) const
inline

Définition à la ligne 241 du fichier MessagePassingUtils.h.

◆ reduceSum() [3/4]

std::complex< long double > Arcane::Alina::mpi_communicator::reduceSum ( const std::complex< long double > & lval) const
inline

Définition à la ligne 233 du fichier MessagePassingUtils.h.

◆ reduceSum() [4/4]

template<typename T>
T Arcane::Alina::mpi_communicator::reduceSum ( const T & lval) const
inline

Définition à la ligne 246 du fichier MessagePassingUtils.h.

◆ wait()

void Arcane::Alina::mpi_communicator::wait ( MessagePassing::Request request) const
inline

Définition à la ligne 255 du fichier MessagePassingUtils.h.

◆ waitAll()

void Arcane::Alina::mpi_communicator::waitAll ( ArrayView< MessagePassing::Request > requests) const
inline

Définition à la ligne 251 du fichier MessagePassingUtils.h.

Documentation des données membres

◆ comm

MPI_Comm Arcane::Alina::mpi_communicator::comm = MPI_COMM_NULL

Définition à la ligne 201 du fichier MessagePassingUtils.h.

◆ m_message_passing_mng

Ref<IMessagePassingMng> Arcane::Alina::mpi_communicator::m_message_passing_mng

Définition à la ligne 204 du fichier MessagePassingUtils.h.

◆ rank

int Arcane::Alina::mpi_communicator::rank = 0

Définition à la ligne 202 du fichier MessagePassingUtils.h.

◆ size

int Arcane::Alina::mpi_communicator::size = 0

Définition à la ligne 203 du fichier MessagePassingUtils.h.


La documentation de cette structure a été générée à partir du fichier suivant :