Arcane  v4.1.7.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal

Classe basée sur MpiMachineShMemWinBaseInternal mais pouvant gérer plusieurs segments par processus. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/message_passing_mpi/arccore/message_passing_mpi/internal/MpiMultiMachineShMemWinBaseInternal.h>

+ Graphe de collaboration de Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal:

Fonctions membres publiques

 MpiMultiMachineShMemWinBaseInternal (SmallSpan< Int64 > sizeof_segments, Int32 nb_segments_per_proc, Int32 sizeof_type, const MPI_Comm &comm_machine, Int32 comm_machine_rank, Int32 comm_machine_size, ConstArrayView< Int32 > machine_ranks)
 Le sizeof_segments ne doit pas être conservé !
 
Int32 sizeofOneElem () const
 Méthode permettant d'obtenir la taille d'un élement de la fenêtre.
 
ConstArrayView< Int32machineRanks () const
 Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.
 
void barrier () const
 Méthode permettant d'attendre que tous les processus du noeud appellent cette méthode pour continuer l'exécution.
 
Span< std::byte > segmentView (Int32 num_seg)
 Méthode permettant d'obtenir une vue sur l'un de nos segments.
 
Span< std::byte > segmentView (Int32 rank, Int32 num_seg)
 Méthode permettant d'obtenir une vue sur l'un des segments d'un autre processus du noeud.
 
Span< const std::byte > segmentConstView (Int32 num_seg) const
 Méthode permettant d'obtenir une vue sur l'un de nos segments.
 
Span< const std::byte > segmentConstView (Int32 rank, Int32 num_seg) const
 Méthode permettant d'obtenir une vue sur l'un des segments d'un autre processus du noeud.
 
void requestAdd (Int32 num_seg, Span< const std::byte > elem)
 Méthode permettant de demander l'ajout d'éléments dans l'un de nos segments.
 
void executeAdd ()
 Méthode permettant d'exécuter les requêtes d'ajout.
 
void requestAddToAnotherSegment (Int32 thread, Int32 rank, Int32 num_seg, Span< const std::byte > elem)
 Méthode permettant de demander l'ajout d'éléments dans un des segments de la fenêtre.
 
void executeAddToAnotherSegment ()
 Méthode permettant d'exécuter les requêtes d'ajout dans les segments d'autres processus.
 
void requestReserve (Int32 num_seg, Int64 new_capacity)
 Méthode permettant de demander la réservation d'espace mémoire pour un de nos segments.
 
void executeReserve ()
 Méthode permettant d'exécuter les requêtes de réservation.
 
void requestResize (Int32 num_seg, Int64 new_size)
 Méthode permettant de demander le redimensionnement d'un de nos segments.
 
void executeResize ()
 Méthode permettant d'exécuter les requêtes de redimensionnement.
 
void executeShrink ()
 Méthode permettant de réduire l'espace mémoire réservé pour les segments au minimum nécessaire.
 

Fonctions membres privées

void _requestRealloc (Int32 owner_pos_segment, Int64 new_capacity) const
 Méthode permettant de demander une réallocation.
 
void _requestRealloc (Int32 owner_pos_segment) const
 Méthode permettant de supprimer une demande de réallocation.
 
void _executeRealloc ()
 
void _realloc ()
 
Int32 _worldToMachine (Int32 world) const
 
Int32 _machineToWorld (Int32 machine) const
 

Attributs privés

UniqueArray< MPI_Win > m_all_mpi_win
 
UniqueArray< Span< std::byte > > m_reserved_part_span
 
MPI_Win m_win_need_resize
 
Span< Int64m_need_resize
 
MPI_Win m_win_actual_sizeof
 Fenêtre contiguë avec taille des fenêtres principales.
 
Span< Int64m_sizeof_used_part
 
MPI_Win m_win_target_segments
 
Span< Int32m_target_segments
 
MPI_Comm m_comm_machine
 
Int32 m_comm_machine_size = 0
 
Int32 m_comm_machine_rank = 0
 
Int32 m_sizeof_type = 0
 
Int32 m_nb_segments_per_proc = 0
 
ConstArrayView< Int32m_machine_ranks
 
UniqueArray< Span< const std::byte > > m_add_requests
 
bool m_add_requested = false
 
UniqueArray< Int64m_resize_requests
 
bool m_resize_requested = false
 

Description détaillée

Classe basée sur MpiMachineShMemWinBaseInternal mais pouvant gérer plusieurs segments par processus.

Rappels importants : chaque fenêtre principale possède qu'un seul segment (et non un segment par processus). Donc un MPI_Win = un segment.

Un segment est identifié par le rang de son propriétaire d'origine et par un id (qui est simplement la position du segment dans la liste des segments locaux).

Les tableaux sont tous 1D. Pour accéder aux infos d'un de nos segments, on doit calculer la position de ces informations avec notre rang machine et la position de ce segment localement. infos_pos = pos_seg + rank * m_nb_segments_per_proc

Pour l'instant, il est nécessaire d'avoir le même nombre de segments par processus.

Toutes les tailles utilisées sont en octet. sizeof_type est utilisé uniquement par MPI et à des fins de vérification.

Définition à la ligne 53 du fichier MpiMultiMachineShMemWinBaseInternal.h.

Documentation des constructeurs et destructeur

◆ MpiMultiMachineShMemWinBaseInternal()

Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::MpiMultiMachineShMemWinBaseInternal ( SmallSpan< Int64 > sizeof_segments,
Int32 nb_segments_per_proc,
Int32 sizeof_type,
const MPI_Comm & comm_machine,
Int32 comm_machine_rank,
Int32 comm_machine_size,
ConstArrayView< Int32 > machine_ranks )
explicit

◆ ~MpiMultiMachineShMemWinBaseInternal()

Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::~MpiMultiMachineShMemWinBaseInternal ( )

Définition à la ligne 208 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Documentation des fonctions membres

◆ _executeRealloc()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::_executeRealloc ( )
private

Définition à la ligne 661 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

◆ _machineToWorld()

Int32 Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::_machineToWorld ( Int32 machine) const
private

Définition à la ligne 805 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

◆ _realloc()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::_realloc ( )
private

Définition à la ligne 688 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

◆ _requestRealloc() [1/2]

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::_requestRealloc ( Int32 owner_pos_segment) const
private

Méthode permettant de supprimer une demande de réallocation.

Paramètres
owner_pos_segmentLe segment à ne pas réallouer.

Définition à la ligne 652 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références m_need_resize.

◆ _requestRealloc() [2/2]

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::_requestRealloc ( Int32 owner_pos_segment,
Int64 new_capacity ) const
private

Méthode permettant de demander une réallocation.

Paramètres
owner_pos_segmentLe segment à réallouer.
new_capacityLa nouvelle capacité.

Définition à la ligne 643 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références m_need_resize.

Référencé par executeShrink(), requestAdd(), requestAddToAnotherSegment(), requestReserve(), et requestResize().

+ Voici le graphe des appelants de cette fonction :

◆ _worldToMachine()

Int32 Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::_worldToMachine ( Int32 world) const
private

Définition à la ligne 791 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

◆ barrier()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::barrier ( ) const

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

Définition à la ligne 240 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

◆ executeAdd()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::executeAdd ( )

Méthode permettant d'exécuter les requêtes d'ajout.

Appel collectif.

En mode hybride, ne doit être appelée que par un seul thread par processus.

Définition à la ligne 339 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références ARCCORE_FATAL, m_add_requests, m_reserved_part_span, et m_sizeof_used_part.

◆ executeAddToAnotherSegment()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::executeAddToAnotherSegment ( )

Méthode permettant d'exécuter les requêtes d'ajout dans les segments d'autres processus.

Appel collectif.

En mode hybride, ne doit être appelée que par un seul thread par processus.

Définition à la ligne 424 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références ARCCORE_FATAL, m_add_requests, m_all_mpi_win, m_reserved_part_span, m_sizeof_used_part, m_target_segments, et Arcane::SpanImpl< T, SizeType, Extent >::size().

+ Voici le graphe d'appel pour cette fonction :

◆ executeReserve()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::executeReserve ( )

Méthode permettant d'exécuter les requêtes de réservation.

Appel collectif.

En mode hybride, ne doit être appelée que par un seul thread par processus.

Définition à la ligne 560 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

◆ executeResize()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::executeResize ( )

Méthode permettant d'exécuter les requêtes de redimensionnement.

Appel collectif.

En mode hybride, ne doit être appelée que par un seul thread par processus.

Définition à la ligne 595 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références ARCCORE_FATAL, m_reserved_part_span, m_resize_requests, et m_sizeof_used_part.

◆ executeShrink()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::executeShrink ( )

Méthode permettant de réduire l'espace mémoire réservé pour les segments au minimum nécessaire.

Appel collectif.

En mode hybride, ne doit être appelée que par un seul thread par processus.

Définition à la ligne 624 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références _requestRealloc(), m_reserved_part_span, et m_sizeof_used_part.

+ Voici le graphe d'appel pour cette fonction :

◆ machineRanks()

ConstArrayView< Int32 > Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::machineRanks ( ) const

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

Appel non collectif.

Renvoie
Une vue contenant les ids des rangs.

Définition à la ligne 231 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

◆ requestAdd()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::requestAdd ( Int32 num_seg,
Span< const std::byte > elem )

Méthode permettant de demander l'ajout d'éléments dans l'un de nos segments.

Appel non collectif

et pouvant être effectué par plusieurs threads en même temps (si le paramètre num_seg est différent pour chaque thread). Un appel à cette méthode avec un même num_seg avant l'appel à executeAdd() remplacera le premier appel.

Un appel à executeAdd() est nécessaire après le ou les appels à cette méthode. Il ne faut pas appeler une autre méthode requestX() entre temps.

Paramètres
num_segLa position (ou id) locale du segment.
elemLes éléments à ajouter.

Définition à la ligne 309 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références _requestRealloc(), ARCCORE_FATAL, Arcane::SpanImpl< T, SizeType, Extent >::data(), Arcane::SpanImpl< T, SizeType, Extent >::empty(), m_add_requests, m_reserved_part_span, m_sizeof_used_part, et Arcane::SpanImpl< T, SizeType, Extent >::size().

+ Voici le graphe d'appel pour cette fonction :

◆ requestAddToAnotherSegment()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::requestAddToAnotherSegment ( Int32 thread,
Int32 rank,
Int32 num_seg,
Span< const std::byte > elem )

Méthode permettant de demander l'ajout d'éléments dans un des segments de la fenêtre.

Appel non collectif

et pouvant être effectué par plusieurs threads en même temps (si le paramètre thread est différent pour chaque thread). Un appel à cette méthode avec un même thread avant l'appel à executeaddToAnotherSegment() remplacera le premier appel.

Un appel à executeaddToAnotherSegment() est nécessaire après le ou les appels à cette méthode. Il ne faut pas appeler une autre méthode requestX() entre temps.

Deux sous-domaines ne doivent pas ajouter d'éléments dans un même segment de sous-domaine.

Paramètres
threadLe thread qui demande l'ajout. TODO Trouver un autre moyen que ce paramètre.
rankLe rang du processus propriétaire du segment à modifier.
num_segLa position (ou id) locale du segment à modifier.
elemLes éléments à ajouter.

Définition à la ligne 375 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références _requestRealloc(), ARCCORE_FATAL, Arcane::SpanImpl< T, SizeType, Extent >::data(), Arcane::SpanImpl< T, SizeType, Extent >::empty(), m_add_requests, m_all_mpi_win, m_sizeof_used_part, m_target_segments, et Arcane::SpanImpl< T, SizeType, Extent >::size().

+ Voici le graphe d'appel pour cette fonction :

◆ requestReserve()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::requestReserve ( Int32 num_seg,
Int64 new_capacity )

Méthode permettant de demander la réservation d'espace mémoire pour un de nos segments.

Cette méthode ne fait rien si new_capacity est inférieur à l'espace mémoire déjà alloué pour le segment.

MPI réservera un espace avec une taille supérieur ou égale à new_capacity.

Cette méthode ne redimensionne pas le segment, il faudra toujours passer par les méthodes add() pour ajouter des éléments.

Pour redimensionner le segment, les méthodes resize() sont disponibles.

Appel non collectif

et pouvant être effectué par plusieurs threads en même temps (si le paramètre num_seg est différent pour chaque thread). Un appel à cette méthode avec un même num_seg avant l'appel à executeReserve() remplacera le premier appel.

Un appel à executeReserve() est nécessaire après le ou les appels à cette méthode. Il ne faut pas appeler une autre méthode requestX() entre temps.

Paramètres
num_segLa position (ou id) locale du segment.
new_capacityLa nouvelle capacité demandée.

Définition à la ligne 540 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références _requestRealloc(), ARCCORE_FATAL, et m_reserved_part_span.

+ Voici le graphe d'appel pour cette fonction :

◆ requestResize()

void Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::requestResize ( Int32 num_seg,
Int64 new_size )

Méthode permettant de demander le redimensionnement d'un de nos segments.

Si la taille fournie est inférieure à la taille actuelle du segment, les éléments situés après la taille fournie seront supprimés.

Si la taille fournie est supérieur à l'espace mémoire réservé au segment, un realloc sera effectué.

Appel non collectif

et pouvant être effectué par plusieurs threads en même temps (si le paramètre num_seg est différent pour chaque thread). Un appel à cette méthode avec un même num_seg avant l'appel à executeResize() remplacera le premier appel.

Un appel à executeResize() est nécessaire après le ou les appels à cette méthode. Il ne faut pas appeler une autre méthode requestX() entre temps.

Paramètres
num_segLa position (ou id) locale du segment.
new_sizeLa nouvelle taille.

Définition à la ligne 569 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références _requestRealloc(), ARCCORE_FATAL, m_reserved_part_span, et m_resize_requests.

+ Voici le graphe d'appel pour cette fonction :

◆ segmentConstView() [1/2]

Span< const std::byte > Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::segmentConstView ( Int32 num_seg) const

Méthode permettant d'obtenir une vue sur l'un de nos segments.

Appel non collectif.

Paramètres
num_segLa position (ou id) locale du segment.
Renvoie
Une vue.

Définition à la ligne 279 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références m_reserved_part_span, et m_sizeof_used_part.

◆ segmentConstView() [2/2]

Span< const std::byte > Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::segmentConstView ( Int32 rank,
Int32 num_seg ) const

Méthode permettant d'obtenir une vue sur l'un des segments d'un autre processus du noeud.

Appel non collectif.

Paramètres
rankLe rang du processus.
num_segLa position (ou id) locale du segment.
Renvoie
Une vue.

Définition à la ligne 289 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références ARCCORE_FATAL, m_all_mpi_win, et m_sizeof_used_part.

◆ segmentView() [1/2]

Span< std::byte > Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::segmentView ( Int32 num_seg)

Méthode permettant d'obtenir une vue sur l'un de nos segments.

Appel non collectif.

Paramètres
num_segLa position (ou id) du segment.
Renvoie
Une vue.

Définition à la ligne 249 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références m_reserved_part_span, et m_sizeof_used_part.

◆ segmentView() [2/2]

Span< std::byte > Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::segmentView ( Int32 rank,
Int32 num_seg )

Méthode permettant d'obtenir une vue sur l'un des segments d'un autre processus du noeud.

Appel non collectif.

Paramètres
rankLe rang du processus.
num_segLa position (ou id) locale du segment.
Renvoie
Une vue.

Définition à la ligne 259 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Références ARCCORE_FATAL, m_all_mpi_win, et m_sizeof_used_part.

◆ sizeofOneElem()

Int32 Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::sizeofOneElem ( ) const

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

Appel non collectif.

Renvoie
La taille d'un élement.

Définition à la ligne 222 du fichier MpiMultiMachineShMemWinBaseInternal.cc.

Documentation des données membres

◆ m_add_requested

bool Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_add_requested = false
private

Définition à la ligne 368 du fichier MpiMultiMachineShMemWinBaseInternal.h.

◆ m_add_requests

UniqueArray<Span<const std::byte> > Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_add_requests
private

Tableau contenant les requests d'ajouts. Un emplacement par segment local (m_add_requests.size() = m_nb_segments_per_proc).

Définition à la ligne 367 du fichier MpiMultiMachineShMemWinBaseInternal.h.

Référencé par executeAdd(), executeAddToAnotherSegment(), MpiMultiMachineShMemWinBaseInternal(), requestAdd(), et requestAddToAnotherSegment().

◆ m_all_mpi_win

UniqueArray<MPI_Win> Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_all_mpi_win
private

Tableau contenant toutes les fenêtres principales.

Rappel : un MPI_Win = un segment.

Segment n°S du sous-domaine rang R : mpi_win_seg = S + R * m_nb_segments_per_proc

Définition à la ligne 316 du fichier MpiMultiMachineShMemWinBaseInternal.h.

Référencé par executeAddToAnotherSegment(), MpiMultiMachineShMemWinBaseInternal(), requestAddToAnotherSegment(), segmentConstView(), et segmentView().

◆ m_comm_machine

MPI_Comm Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_comm_machine
private

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

◆ m_comm_machine_rank

Int32 Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_comm_machine_rank = 0
private

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

◆ m_comm_machine_size

Int32 Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_comm_machine_size = 0
private

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

◆ m_machine_ranks

ConstArrayView<Int32> Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_machine_ranks
private

Définition à la ligne 362 du fichier MpiMultiMachineShMemWinBaseInternal.h.

◆ m_nb_segments_per_proc

Int32 Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_nb_segments_per_proc = 0
private

Définition à la ligne 360 du fichier MpiMultiMachineShMemWinBaseInternal.h.

◆ m_need_resize

Span<Int64> Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_need_resize
private

Vue globale sur fenêtre contiguë avec taille de redimensionnement (ou -1 si redimensionnement non demandé).

Segment n°S du sous-domaine rang R : need_resize_seg = S + R * m_nb_segments_per_proc

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

Référencé par _requestRealloc(), _requestRealloc(), et MpiMultiMachineShMemWinBaseInternal().

◆ m_reserved_part_span

UniqueArray<Span<std::byte> > Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_reserved_part_span
private

Tableau avec les vues sur les segments. La taille des vues correspond à tout l'espace mémoire réservé.

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

Référencé par executeAdd(), executeAddToAnotherSegment(), executeResize(), executeShrink(), MpiMultiMachineShMemWinBaseInternal(), requestAdd(), requestReserve(), requestResize(), segmentConstView(), et segmentView().

◆ m_resize_requested

bool Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_resize_requested = false
private

Définition à la ligne 374 du fichier MpiMultiMachineShMemWinBaseInternal.h.

◆ m_resize_requests

UniqueArray<Int64> Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_resize_requests
private

Tableau contenant les requests de redimensionnement. Un emplacement par segment local (m_resize_requests.size() = m_nb_segments_per_proc).

Définition à la ligne 373 du fichier MpiMultiMachineShMemWinBaseInternal.h.

Référencé par executeResize(), MpiMultiMachineShMemWinBaseInternal(), et requestResize().

◆ m_sizeof_type

Int32 Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_sizeof_type = 0
private

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

◆ m_sizeof_used_part

Span<Int64> Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_sizeof_used_part
private

Vue globale sur fenêtre contiguë avec taille des fenêtres principales.

Segment n°S du sous-domaine rang R : sizeof_used_part_seg = S + R * m_nb_segments_per_proc

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

Référencé par executeAdd(), executeAddToAnotherSegment(), executeResize(), executeShrink(), MpiMultiMachineShMemWinBaseInternal(), requestAdd(), requestAddToAnotherSegment(), segmentConstView(), segmentConstView(), segmentView(), et segmentView().

◆ m_target_segments

Span<Int32> Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_target_segments
private

Vue globale sur fenêtre contiguë avec demande de modification de segment d'un autre sous-domaine.

En considérant qu'un proprio de segment SD veuille modifier le segment ST, il opèrera cette modification :

m_target_segments[ST] = SD (Voir méthode requestAddToAnotherSegment()).

Segment n°S du sous-domaine rang R : target_segments_seg = S + R * m_nb_segments_per_proc

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

Référencé par executeAddToAnotherSegment(), MpiMultiMachineShMemWinBaseInternal(), et requestAddToAnotherSegment().

◆ m_win_actual_sizeof

MPI_Win Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_win_actual_sizeof
private

Fenêtre contiguë avec taille des fenêtres principales.

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

Référencé par MpiMultiMachineShMemWinBaseInternal().

◆ m_win_need_resize

MPI_Win Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_win_need_resize
private

Fenêtre contiguë avec taille de redimensionnement (ou -1 si redimensionnement non demandé).

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

Référencé par MpiMultiMachineShMemWinBaseInternal().

◆ m_win_target_segments

MPI_Win Arcane::MessagePassing::Mpi::MpiMultiMachineShMemWinBaseInternal::m_win_target_segments
private

Fenêtre contiguë avec demande de modification de segment d'un autre sous-domaine.

Définition à la ligne 341 du fichier MpiMultiMachineShMemWinBaseInternal.h.

Référencé par MpiMultiMachineShMemWinBaseInternal().


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