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

Distributed Matrix using message passing. 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::DistributedMatrix< 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::params backend_params
 
typedef Backend::matrix matrix
 
typedef CommunicationPattern< BackendCommPattern
 
typedef Backend::matrix build_matrix
 

Fonctions membres publiques

 DistributedMatrix (mpi_communicator comm, std::shared_ptr< build_matrix > a_loc, std::shared_ptr< build_matrix > a_rem, std::shared_ptr< CommPattern > c=std::shared_ptr< CommPattern >())
 
template<class OtherBackend>
 DistributedMatrix (const DistributedMatrix< OtherBackend > &A)
 
template<class Matrix>
 DistributedMatrix (mpi_communicator comm, const Matrix &A, ptrdiff_t _n_loc_cols=-1)
 
mpi_communicator comm () const
 
std::shared_ptr< build_matrix > local () const
 
std::shared_ptr< build_matrix > remote () const
 
std::shared_ptr< matrix > local_backend () const
 
std::shared_ptr< matrix > remote_backend () const
 
ptrdiff_t loc_rows () const
 
ptrdiff_t loc_cols () const
 
ptrdiff_t loc_col_shift () const
 
ptrdiff_t loc_nonzeros () const
 
ptrdiff_t glob_rows () const
 
ptrdiff_t glob_cols () const
 
ptrdiff_t glob_nonzeros () const
 
const CommunicationPattern< Backend > & cpat () const
 
void set_local (std::shared_ptr< matrix > a)
 
void move_to_backend (const backend_params &bprm=backend_params(), bool keep_src=false)
 
template<class A, class VecX, class B, class VecY>
void mul (A alpha, const VecX &x, B beta, VecY &y) const
 
template<class Vec1, class Vec2, class Vec3>
void residual (const Vec1 &f, const Vec2 &x, Vec3 &r) const
 

Attributs privés

std::shared_ptr< CommPatternC
 
std::shared_ptr< matrix > A_loc
 
std::shared_ptr< matrix > A_rem
 
std::shared_ptr< build_matrix > a_loc
 
std::shared_ptr< build_matrix > a_rem
 
ptrdiff_t n_loc_rows
 
ptrdiff_t n_glob_rows
 
ptrdiff_t n_loc_cols
 
ptrdiff_t n_glob_cols
 
ptrdiff_t n_loc_nonzeros
 
ptrdiff_t n_glob_nonzeros
 

Description détaillée

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

Distributed Matrix using message passing.

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

Documentation des définitions de type membres

◆ backend_params

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

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

◆ build_matrix

template<class Backend>
typedef Backend::matrix Arcane::Alina::DistributedMatrix< Backend >::build_matrix

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

◆ CommPattern

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

◆ matrix

template<class Backend>
typedef Backend::matrix Arcane::Alina::DistributedMatrix< Backend >::matrix

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

◆ rhs_type

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

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

◆ scalar_type

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

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

◆ value_type

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

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

Documentation des constructeurs et destructeur

◆ DistributedMatrix() [1/3]

template<class Backend>
Arcane::Alina::DistributedMatrix< Backend >::DistributedMatrix ( mpi_communicator comm,
std::shared_ptr< build_matrix > a_loc,
std::shared_ptr< build_matrix > a_rem,
std::shared_ptr< CommPattern > c = std::shared_ptr<CommPattern>() )
inline

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

◆ DistributedMatrix() [2/3]

template<class Backend>
template<class OtherBackend>
Arcane::Alina::DistributedMatrix< Backend >::DistributedMatrix ( const DistributedMatrix< OtherBackend > & A)
inline

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

◆ DistributedMatrix() [3/3]

template<class Backend>
template<class Matrix>
Arcane::Alina::DistributedMatrix< Backend >::DistributedMatrix ( mpi_communicator comm,
const Matrix & A,
ptrdiff_t _n_loc_cols = -1 )
inline

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

Documentation des fonctions membres

◆ comm()

template<class Backend>
mpi_communicator Arcane::Alina::DistributedMatrix< Backend >::comm ( ) const
inline

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

◆ cpat()

template<class Backend>
const CommunicationPattern< Backend > & Arcane::Alina::DistributedMatrix< Backend >::cpat ( ) const
inline

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

◆ glob_cols()

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::glob_cols ( ) const
inline

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

◆ glob_nonzeros()

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::glob_nonzeros ( ) const
inline

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

◆ glob_rows()

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::glob_rows ( ) const
inline

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

◆ loc_col_shift()

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

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

◆ loc_cols()

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::loc_cols ( ) const
inline

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

◆ loc_nonzeros()

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::loc_nonzeros ( ) const
inline

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

◆ loc_rows()

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::loc_rows ( ) const
inline

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

◆ local()

template<class Backend>
std::shared_ptr< build_matrix > Arcane::Alina::DistributedMatrix< Backend >::local ( ) const
inline

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

◆ local_backend()

template<class Backend>
std::shared_ptr< matrix > Arcane::Alina::DistributedMatrix< Backend >::local_backend ( ) const
inline

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

◆ move_to_backend()

template<class Backend>
void Arcane::Alina::DistributedMatrix< Backend >::move_to_backend ( const backend_params & bprm = backend_params(),
bool keep_src = false )
inline

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

◆ mul()

template<class Backend>
template<class A, class VecX, class B, class VecY>
void Arcane::Alina::DistributedMatrix< Backend >::mul ( A alpha,
const VecX & x,
B beta,
VecY & y ) const
inline

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

◆ remote()

template<class Backend>
std::shared_ptr< build_matrix > Arcane::Alina::DistributedMatrix< Backend >::remote ( ) const
inline

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

◆ remote_backend()

template<class Backend>
std::shared_ptr< matrix > Arcane::Alina::DistributedMatrix< Backend >::remote_backend ( ) const
inline

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

◆ residual()

template<class Backend>
template<class Vec1, class Vec2, class Vec3>
void Arcane::Alina::DistributedMatrix< Backend >::residual ( const Vec1 & f,
const Vec2 & x,
Vec3 & r ) const
inline

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

◆ set_local()

template<class Backend>
void Arcane::Alina::DistributedMatrix< Backend >::set_local ( std::shared_ptr< matrix > a)
inline

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

Documentation des données membres

◆ A_loc

template<class Backend>
std::shared_ptr<matrix> Arcane::Alina::DistributedMatrix< Backend >::A_loc
private

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

◆ a_loc

template<class Backend>
std::shared_ptr<build_matrix> Arcane::Alina::DistributedMatrix< Backend >::a_loc
private

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

◆ A_rem

template<class Backend>
std::shared_ptr<matrix> Arcane::Alina::DistributedMatrix< Backend >::A_rem
private

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

◆ a_rem

template<class Backend>
std::shared_ptr<build_matrix> Arcane::Alina::DistributedMatrix< Backend >::a_rem
private

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

◆ C

template<class Backend>
std::shared_ptr<CommPattern> Arcane::Alina::DistributedMatrix< Backend >::C
private

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

◆ n_glob_cols

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::n_glob_cols
private

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

◆ n_glob_nonzeros

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::n_glob_nonzeros
private

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

◆ n_glob_rows

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::n_glob_rows
private

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

◆ n_loc_cols

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::n_loc_cols
private

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

◆ n_loc_nonzeros

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::n_loc_nonzeros
private

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

◆ n_loc_rows

template<class Backend>
ptrdiff_t Arcane::Alina::DistributedMatrix< Backend >::n_loc_rows
private

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


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