Classe permettant de regrouper les données de certains sous-domaines sur d'autres sous-domaines. Plus de détails...
#include <arcane/core/internal/GatherGroup.h>
Graphe d'héritage de Arcane::GatherGroup:
Graphe de collaboration de Arcane::GatherGroup:Fonctions membres publiques | |
| GatherGroup (GatherGroupInfo *gather_group_info) | |
| Constructeur. | |
| GatherGroup () | |
| Constructeur. Pour que l'objet soit utilisable, il est nécessaire d'appeler setGatherGroupInfo(). | |
| bool | isNeedGather () override |
| Méthode permettant de savoir si l'on doit effectuer le regroupement ou si l'on peut directement écrire les données. | |
| void | gatherToMasterIO (Int64 sizeof_elem, Span< const Byte > in, Span< Byte > out) override |
| Méthode permettant de regrouper les données de plusieurs sous-domaines sur un ou plusieurs sous-domaines. | |
| void | setGatherGroupInfo (GatherGroupInfo *gather_group_info) |
| Méthode permettant de définir les informations de regroupement. | |
| template<class T> | |
| void | gatherToMasterIOT (Span< const T > in, Array< T > &out) |
| Méthode permettant de regrouper les données de plusieurs sous-domaines sur un ou plusieurs sous-domaines. | |
| template<class T> | |
| void | gatherToMasterIOT (Span2< const T > in, Array2< T > &out) |
| Méthode permettant de regrouper les données de plusieurs sous-domaines sur un ou plusieurs sous-domaines. | |
Attributs privés | |
| GatherGroupInfo * | m_gather_group_info = nullptr |
Classe permettant de regrouper les données de certains sous-domaines sur d'autres sous-domaines.
Les écrivains seront les masterIO ou les masterParallelIO si m_use_collective_io est vrai.
Définition à la ligne 46 du fichier GatherGroup.h.
|
explicit |
Constructeur.
| gather_group_info | Les informations de regroupement. isComputed() devra être vrai. |
Définition à la ligne 32 du fichier GatherGroup.cc.
Références ARCANE_CHECK_POINTER, ARCANE_FATAL_IF, et Arcane::GatherGroupInfo::isComputed().
Référencé par GatherGroup().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
overridevirtual |
Méthode permettant de regrouper les données de plusieurs sous-domaines sur un ou plusieurs sous-domaines.
Appel collectif.
| sizeof_elem | La taille d'un élément. |
| in | Notre tableau que l'on souhaite regrouper. |
| out | Le tableau regroupé. Si l'on n'est pas écrivain, il n'y aura aucune modification. |
Implémente Arcane::IGatherGroup.
Définition à la ligne 67 du fichier GatherGroup.cc.
Références ARCANE_CHECK_POINTER, Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::SpanImpl< T, SizeType, Extent >::constSmallView(), Arcane::SpanImpl< T, SizeType, Extent >::copy(), Arcane::IParallelMng::isThreadImplementation(), Arcane::IParallelMng::recv(), Arcane::SpanImpl< T, SizeType, Extent >::size(), Arcane::Span< T, Extent >::subSpan(), et Arcane::IParallelMng::waitAllRequests().
Référencé par GatherGroup(), gatherToMasterIOT(), et gatherToMasterIOT().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::GatherGroup::gatherToMasterIOT | ( | Span2< const T > | in, |
| Array2< T > & | out ) |
Méthode permettant de regrouper les données de plusieurs sous-domaines sur un ou plusieurs sous-domaines.
Il est recommandé d'utiliser cette méthode plutôt que directement gatherToMasterIO().
| in | Notre tableau que l'on souhaite regrouper. |
| out | Le tableau regroupé. Si l'on n'est pas écrivain, il n'y aura aucune modification. |
Définition à la ligne 223 du fichier GatherGroup.h.
Références Arcane::Span2Impl< T, SizeType, Extent1, Extent2 >::data(), Arccore::Span2Impl< T, SizeType, Extent1, Extent2 >::data(), Arcane::Span2Impl< T, SizeType, Extent1, Extent2 >::dim2Size(), gatherToMasterIO(), Arcane::Array2< DataType >::resizeNoInit(), et Arcane::Span2Impl< T, SizeType, Extent1, Extent2 >::totalNbElement().
Voici le graphe d'appel pour cette fonction :| void Arcane::GatherGroup::gatherToMasterIOT | ( | Span< const T > | in, |
| Array< T > & | out ) |
Méthode permettant de regrouper les données de plusieurs sous-domaines sur un ou plusieurs sous-domaines.
Il est recommandé d'utiliser cette méthode plutôt que directement gatherToMasterIO().
| in | Notre tableau que l'on souhaite regrouper. |
| out | Le tableau regroupé. Si l'on n'est pas écrivain, il n'y aura aucune modification. |
Définition à la ligne 204 du fichier GatherGroup.h.
Références Arcane::Array< DataType >::clear(), Arcane::Array< DataType >::data(), Arcane::SpanImpl< T, SizeType, Extent >::data(), gatherToMasterIO(), Arcane::Array< DataType >::resizeNoInit(), et Arcane::SpanImpl< T, SizeType, Extent >::sizeBytes().
Référencé par GatherGroup().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
overridevirtual |
Méthode permettant de savoir si l'on doit effectuer le regroupement ou si l'on peut directement écrire les données.
Appel non collectif, mais la valeur retournée sera la même pour tous les appelants.
L'appel à gatherToMasterIO() peut tout de même être effectué, le tableau in sera simplement copié dans le tableau out.
Implémente Arcane::IGatherGroup.
Définition à la ligne 54 du fichier GatherGroup.cc.
Références ARCANE_CHECK_POINTER, Arcane::IParallelMng::commSize(), et Arcane::IParallelMng::isThreadImplementation().
Référencé par GatherGroup().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::GatherGroup::setGatherGroupInfo | ( | GatherGroupInfo * | gather_group_info | ) |
Méthode permettant de définir les informations de regroupement.
Cette méthode peut être utilisée pour remplacer les informations déjà enregistrées dans l'objet.
Définition à la ligne 110 du fichier GatherGroup.cc.
Références ARCANE_CHECK_POINTER, ARCANE_FATAL_IF, et Arcane::GatherGroupInfo::isComputed().
Référencé par GatherGroup().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
private |
Définition à la ligne 113 du fichier GatherGroup.h.