Arcane  v4.1.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::Alina::CommunicationPattern< Backend >

Call to handle communication pattern. Plus de détails...

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

+ Graphe de collaboration de Arcane::Alina::CommunicationPattern< Backend >:

Types publics

typedef Backend::value_type value_type
 
typedef math::rhs_of< value_type >::type rhs_type
 
typedef math::scalar_of< value_type >::type scalar_type
 
typedef Backend::matrix matrix
 
typedef Backend::vector vector
 
typedef Backend::params backend_params
 
typedef Backend::col_type col_type
 
typedef Backend::ptr_type ptr_type
 

Fonctions membres publiques

 CommunicationPattern (mpi_communicator comm, ptrdiff_t n_loc_cols, size_t n_rem_cols, const col_type *p_rem_cols)
 
template<class OtherBackend>
 CommunicationPattern (const CommunicationPattern< OtherBackend > &C)
 
void move_to_backend (const backend_params &bprm=backend_params())
 
int domain (ptrdiff_t col) const
 
int local_index (ptrdiff_t col) const
 
std::tuple< int, int > remote_info (ptrdiff_t col) const
 
std::unordered_map< ptrdiff_t, std::tuple< int, int > >::const_iterator remote_begin () const
 
std::unordered_map< ptrdiff_t, std::tuple< int, int > >::const_iterator remote_end () const
 
size_t renumber (size_t n, col_type *col) const
 
bool needs_remote () const
 
template<class Vector>
void start_exchange (const Vector &x) const
 
void finish_exchange () const
 
template<typename T>
void exchange (const T *send_val, T *recv_val) const
 
mpi_communicator mpi_comm () const
 
ptrdiff_t loc_col_shift () const
 

Attributs publics

struct { 
 
   std::vector< ptrdiff_t >   nbr 
 
   std::vector< ptr_type >   ptr 
 
   std::vector< col_type >   col 
 
   std::vector< rhs_type >   val 
 
   UniqueArray< MessagePassing::Request >   req 
 
send 
 
struct { 
 
   std::vector< ptrdiff_t >   nbr 
 
   std::vector< ptr_type >   ptr 
 
   std::vector< rhs_type >   val 
 
   UniqueArray< MessagePassing::Request >   req 
 
recv 
 
std::shared_ptr< vectorx_rem
 

Types privés

using Gather = Backend::gather
 

Attributs privés

mpi_communicator comm
 
std::unordered_map< ptrdiff_t, std::tuple< int, int > > idx
 
std::shared_ptr< Gather > gather
 
ptrdiff_t loc_beg
 
ptrdiff_t loc_cols
 

Attributs privés statiques

static const int tag_set_comm = 1001
 
static const int tag_exc_cols = 1002
 
static const int tag_exc_vals = 1003
 

Description détaillée

template<class Backend>
class Arcane::Alina::CommunicationPattern< Backend >

Call to handle communication pattern.

Définition à la ligne 52 du fichier DistributedMatrix.h.

Documentation des définitions de type membres

◆ backend_params

template<class Backend>
typedef Backend::params Arcane::Alina::CommunicationPattern< Backend >::backend_params

Définition à la ligne 61 du fichier DistributedMatrix.h.

◆ col_type

template<class Backend>
typedef Backend::col_type Arcane::Alina::CommunicationPattern< Backend >::col_type

Définition à la ligne 62 du fichier DistributedMatrix.h.

◆ Gather

template<class Backend>
using Arcane::Alina::CommunicationPattern< Backend >::Gather = Backend::gather
private

Définition à la ligne 326 du fichier DistributedMatrix.h.

◆ matrix

Définition à la ligne 59 du fichier DistributedMatrix.h.

◆ ptr_type

template<class Backend>
typedef Backend::ptr_type Arcane::Alina::CommunicationPattern< Backend >::ptr_type

Définition à la ligne 63 du fichier DistributedMatrix.h.

◆ rhs_type

template<class Backend>
typedef math::rhs_of<value_type>::type Arcane::Alina::CommunicationPattern< Backend >::rhs_type

Définition à la ligne 57 du fichier DistributedMatrix.h.

◆ scalar_type

template<class Backend>
typedef math::scalar_of<value_type>::type Arcane::Alina::CommunicationPattern< Backend >::scalar_type

Définition à la ligne 58 du fichier DistributedMatrix.h.

◆ value_type

template<class Backend>
typedef Backend::value_type Arcane::Alina::CommunicationPattern< Backend >::value_type

Définition à la ligne 56 du fichier DistributedMatrix.h.

◆ vector

Définition à la ligne 60 du fichier DistributedMatrix.h.

Documentation des constructeurs et destructeur

◆ CommunicationPattern() [1/2]

template<class Backend>
Arcane::Alina::CommunicationPattern< Backend >::CommunicationPattern ( mpi_communicator comm,
ptrdiff_t n_loc_cols,
size_t n_rem_cols,
const col_type * p_rem_cols )
inline

Définition à la ligne 96 du fichier DistributedMatrix.h.

◆ CommunicationPattern() [2/2]

template<class Backend>
template<class OtherBackend>
Arcane::Alina::CommunicationPattern< Backend >::CommunicationPattern ( const CommunicationPattern< OtherBackend > & C)
inline

Définition à la ligne 200 du fichier DistributedMatrix.h.

Documentation des fonctions membres

◆ domain()

template<class Backend>
int Arcane::Alina::CommunicationPattern< Backend >::domain ( ptrdiff_t col) const
inline

Définition à la ligne 229 du fichier DistributedMatrix.h.

◆ exchange()

template<class Backend>
template<typename T>
void Arcane::Alina::CommunicationPattern< Backend >::exchange ( const T * send_val,
T * recv_val ) const
inline

Définition à la ligne 298 du fichier DistributedMatrix.h.

◆ finish_exchange()

template<class Backend>
void Arcane::Alina::CommunicationPattern< Backend >::finish_exchange ( ) const
inline

Définition à la ligne 286 du fichier DistributedMatrix.h.

◆ loc_col_shift()

template<class Backend>
ptrdiff_t Arcane::Alina::CommunicationPattern< Backend >::loc_col_shift ( ) const
inline

Définition à la ligne 319 du fichier DistributedMatrix.h.

◆ local_index()

template<class Backend>
int Arcane::Alina::CommunicationPattern< Backend >::local_index ( ptrdiff_t col) const
inline

Définition à la ligne 234 du fichier DistributedMatrix.h.

◆ move_to_backend()

template<class Backend>
void Arcane::Alina::CommunicationPattern< Backend >::move_to_backend ( const backend_params & bprm = backend_params())
inline

Définition à la ligne 218 du fichier DistributedMatrix.h.

◆ mpi_comm()

template<class Backend>
mpi_communicator Arcane::Alina::CommunicationPattern< Backend >::mpi_comm ( ) const
inline

Définition à la ligne 314 du fichier DistributedMatrix.h.

◆ needs_remote()

template<class Backend>
bool Arcane::Alina::CommunicationPattern< Backend >::needs_remote ( ) const
inline

Définition à la ligne 263 du fichier DistributedMatrix.h.

◆ remote_begin()

template<class Backend>
std::unordered_map< ptrdiff_t, std::tuple< int, int > >::const_iterator Arcane::Alina::CommunicationPattern< Backend >::remote_begin ( ) const
inline

Définition à la ligne 245 du fichier DistributedMatrix.h.

◆ remote_end()

template<class Backend>
std::unordered_map< ptrdiff_t, std::tuple< int, int > >::const_iterator Arcane::Alina::CommunicationPattern< Backend >::remote_end ( ) const
inline

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

◆ remote_info()

template<class Backend>
std::tuple< int, int > Arcane::Alina::CommunicationPattern< Backend >::remote_info ( ptrdiff_t col) const
inline

Définition à la ligne 239 du fichier DistributedMatrix.h.

◆ renumber()

template<class Backend>
size_t Arcane::Alina::CommunicationPattern< Backend >::renumber ( size_t n,
col_type * col ) const
inline

Définition à la ligne 256 du fichier DistributedMatrix.h.

◆ start_exchange()

template<class Backend>
template<class Vector>
void Arcane::Alina::CommunicationPattern< Backend >::start_exchange ( const Vector & x) const
inline

Définition à la ligne 269 du fichier DistributedMatrix.h.

Documentation des fonctions amies et associées

◆ CommunicationPattern

template<class Backend>
template<class B>
friend class CommunicationPattern
friend

Définition à la ligne 340 du fichier DistributedMatrix.h.

Documentation des données membres

◆ col

template<class Backend>
std::vector<col_type> Arcane::Alina::CommunicationPattern< Backend >::col

Définition à la ligne 69 du fichier DistributedMatrix.h.

◆ comm

Définition à la ligne 332 du fichier DistributedMatrix.h.

◆ gather

template<class Backend>
std::shared_ptr<Gather> Arcane::Alina::CommunicationPattern< Backend >::gather
private

Définition à la ligne 335 du fichier DistributedMatrix.h.

◆ idx

template<class Backend>
std::unordered_map<ptrdiff_t, std::tuple<int, int> > Arcane::Alina::CommunicationPattern< Backend >::idx
private

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

◆ loc_beg

template<class Backend>
ptrdiff_t Arcane::Alina::CommunicationPattern< Backend >::loc_beg
private

Définition à la ligne 336 du fichier DistributedMatrix.h.

◆ loc_cols

template<class Backend>
ptrdiff_t Arcane::Alina::CommunicationPattern< Backend >::loc_cols
private

Définition à la ligne 337 du fichier DistributedMatrix.h.

◆ nbr

template<class Backend>
std::vector<ptrdiff_t> Arcane::Alina::CommunicationPattern< Backend >::nbr

Définition à la ligne 67 du fichier DistributedMatrix.h.

◆ ptr

template<class Backend>
std::vector<ptr_type> Arcane::Alina::CommunicationPattern< Backend >::ptr

Définition à la ligne 68 du fichier DistributedMatrix.h.

◆ req

Définition à la ligne 77 du fichier DistributedMatrix.h.

◆ tag_exc_cols

template<class Backend>
const int Arcane::Alina::CommunicationPattern< Backend >::tag_exc_cols = 1002
staticprivate

Définition à la ligne 329 du fichier DistributedMatrix.h.

◆ tag_exc_vals

template<class Backend>
const int Arcane::Alina::CommunicationPattern< Backend >::tag_exc_vals = 1003
staticprivate

Définition à la ligne 330 du fichier DistributedMatrix.h.

◆ tag_set_comm

template<class Backend>
const int Arcane::Alina::CommunicationPattern< Backend >::tag_set_comm = 1001
staticprivate

Définition à la ligne 328 du fichier DistributedMatrix.h.

◆ val

template<class Backend>
std::vector<rhs_type> Arcane::Alina::CommunicationPattern< Backend >::val
mutable

Définition à la ligne 76 du fichier DistributedMatrix.h.

◆ x_rem

template<class Backend>
std::shared_ptr<vector> Arcane::Alina::CommunicationPattern< Backend >::x_rem

Définition à la ligne 94 du fichier DistributedMatrix.h.


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