Arcane  v3.16.7.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal
+ Graphe d'héritage de Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal:
+ Graphe de collaboration de Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal:

Fonctions membres publiques

 HybridMachineMemoryWindowBaseInternal (Int32 my_rank_mpi, Int32 my_rank_local_proc, Int32 nb_rank_local_proc, ConstArrayView< Int32 > ranks, Int32 sizeof_type, Ref< IMachineMemoryWindowBaseInternal > nb_elem, Ref< IMachineMemoryWindowBaseInternal > sum_nb_elem, Ref< IMachineMemoryWindowBaseInternal > mpi_window, IThreadBarrier *barrier)
 
Int32 sizeofOneElem () const override
 Méthode permettant d'obtenir la taille d'un élement de la fenêtre.
 
Span< std::byte > segment () const override
 Méthode permettant d'obtenir une vue sur son segment.
 
Span< std::byte > segment (Int32 rank) const override
 Méthode permettant d'obtenir une vue sur le segment d'un autre sous-domaine du noeud.
 
Span< std::byte > window () const override
 Méthode permettant d'obtenir une vue sur toute la fenêtre.
 
void resizeSegment (Int64 new_sizeof_segment) override
 Méthode permettant de redimensionner les segments de la fenêtre.
 
ConstArrayView< Int32machineRanks () const override
 Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.
 
void barrier () const override
 Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour continuer l'exécution.
 

Attributs privés

Int32 m_my_rank_local_proc
 
Int32 m_nb_rank_local_proc
 
Int32 m_my_rank_mpi
 
ConstArrayView< Int32m_machine_ranks
 
Int32 m_sizeof_type
 
Ref< IMachineMemoryWindowBaseInternalm_mpi_window
 
Ref< IMachineMemoryWindowBaseInternalm_sizeof_sub_segments_global
 
Ref< IMachineMemoryWindowBaseInternalm_sum_sizeof_sub_segments_global
 
Span< Int64m_sizeof_sub_segments_local_proc
 
Span< Int64m_sum_sizeof_sub_segments_local_proc
 
IThreadBarrierm_thread_barrier
 

Description détaillée

Définition à la ligne 33 du fichier HybridMachineMemoryWindowBaseInternal.h.

Documentation des constructeurs et destructeur

◆ HybridMachineMemoryWindowBaseInternal()

Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::HybridMachineMemoryWindowBaseInternal ( Int32 my_rank_mpi,
Int32 my_rank_local_proc,
Int32 nb_rank_local_proc,
ConstArrayView< Int32 > ranks,
Int32 sizeof_type,
Ref< IMachineMemoryWindowBaseInternal > nb_elem,
Ref< IMachineMemoryWindowBaseInternal > sum_nb_elem,
Ref< IMachineMemoryWindowBaseInternal > mpi_window,
IThreadBarrier * barrier )

Définition à la ligne 31 du fichier HybridMachineMemoryWindowBaseInternal.cc.

Documentation des fonctions membres

◆ barrier()

void Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::barrier ( ) const
overridevirtual

Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour continuer l'exécution.

Implémente Arcane::MessagePassing::IMachineMemoryWindowBaseInternal.

Définition à la ligne 138 du fichier HybridMachineMemoryWindowBaseInternal.cc.

◆ machineRanks()

ConstArrayView< Int32 > Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::machineRanks ( ) const
overridevirtual

Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.

L'ordre des processus de la vue retournée correspond à l'ordre des segments dans la fenêtre.

Renvoie
Une vue contenant les ids des rangs.

Implémente Arcane::MessagePassing::IMachineMemoryWindowBaseInternal.

Définition à la ligne 129 du fichier HybridMachineMemoryWindowBaseInternal.cc.

◆ resizeSegment()

void Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::resizeSegment ( Int64 new_sizeof_segment)
overridevirtual

Méthode permettant de redimensionner les segments de la fenêtre.

Appel collectif.

La taille totale de la fenêtre doit être inférieure ou égale à la taille d'origine.

Paramètres
new_sizeof_segmentLa nouvelle taille de notre segment (en octet).

Implémente Arcane::MessagePassing::IMachineMemoryWindowBaseInternal.

Définition à la ligne 108 du fichier HybridMachineMemoryWindowBaseInternal.cc.

◆ segment() [1/2]

Span< std::byte > Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::segment ( ) const
overridevirtual

Méthode permettant d'obtenir une vue sur son segment.

Renvoie
Une vue.

Implémente Arcane::MessagePassing::IMachineMemoryWindowBaseInternal.

Définition à la ligne 59 du fichier HybridMachineMemoryWindowBaseInternal.cc.

Références Arcane::Span< T, Extent, MinValue >::subSpan().

+ Voici le graphe d'appel pour cette fonction :

◆ segment() [2/2]

Span< std::byte > Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::segment ( Int32 rank) const
overridevirtual

Méthode permettant d'obtenir une vue sur le segment d'un autre sous-domaine du noeud.

Paramètres
rankLe rang du sous-domaine.
Renvoie
Une vue.

Implémente Arcane::MessagePassing::IMachineMemoryWindowBaseInternal.

Définition à la ligne 72 du fichier HybridMachineMemoryWindowBaseInternal.cc.

Références Arcane::asSpan(), et Arcane::Span< T, Extent, MinValue >::subSpan().

+ Voici le graphe d'appel pour cette fonction :

◆ sizeofOneElem()

Int32 Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::sizeofOneElem ( ) const
overridevirtual

Méthode permettant d'obtenir la taille d'un élement de la fenêtre.

Renvoie
La taille d'un élement.

Implémente Arcane::MessagePassing::IMachineMemoryWindowBaseInternal.

Définition à la ligne 50 du fichier HybridMachineMemoryWindowBaseInternal.cc.

◆ window()

Span< std::byte > Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::window ( ) const
overridevirtual

Méthode permettant d'obtenir une vue sur toute la fenêtre.

Renvoie
Une vue.

Implémente Arcane::MessagePassing::IMachineMemoryWindowBaseInternal.

Définition à la ligne 99 du fichier HybridMachineMemoryWindowBaseInternal.cc.

Documentation des données membres

◆ m_machine_ranks

ConstArrayView<Int32> Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_machine_ranks
private

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

◆ m_mpi_window

Ref<IMachineMemoryWindowBaseInternal> Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_mpi_window
private

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

◆ m_my_rank_local_proc

Int32 Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_my_rank_local_proc
private

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

◆ m_my_rank_mpi

Int32 Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_my_rank_mpi
private

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

◆ m_nb_rank_local_proc

Int32 Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_nb_rank_local_proc
private

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

◆ m_sizeof_sub_segments_global

Ref<IMachineMemoryWindowBaseInternal> Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_sizeof_sub_segments_global
private

Définition à la ligne 64 du fichier HybridMachineMemoryWindowBaseInternal.h.

◆ m_sizeof_sub_segments_local_proc

Span<Int64> Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_sizeof_sub_segments_local_proc
private

Définition à la ligne 66 du fichier HybridMachineMemoryWindowBaseInternal.h.

◆ m_sizeof_type

Int32 Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_sizeof_type
private

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

◆ m_sum_sizeof_sub_segments_global

Ref<IMachineMemoryWindowBaseInternal> Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_sum_sizeof_sub_segments_global
private

Définition à la ligne 65 du fichier HybridMachineMemoryWindowBaseInternal.h.

◆ m_sum_sizeof_sub_segments_local_proc

Span<Int64> Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_sum_sizeof_sub_segments_local_proc
private

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

◆ m_thread_barrier

IThreadBarrier* Arcane::MessagePassing::HybridMachineMemoryWindowBaseInternal::m_thread_barrier
private

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


La documentation de cette classe a été générée à partir des fichiers suivants :