Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MpiParallelNonBlockingCollective

Gestionnaire du parallélisme utilisant MPI. Plus de détails...

#include <arcane/parallel/mpi/MpiParallelNonBlockingCollective.h>

+ Graphe d'héritage de Arcane::MpiParallelNonBlockingCollective:
+ Graphe de collaboration de Arcane::MpiParallelNonBlockingCollective:

Fonctions membres publiques

 MpiParallelNonBlockingCollective (ITraceMng *tm, IParallelMng *pm, MpiAdapter *adapter)
 
virtual void build ()
 Construit l'instance.
 
virtual Request barrier ()
 Effectue une barière.
 
virtual bool hasValidReduceForDerivedType () const
 Indique si l'implémentation autorise les réductions sur les types dérivés.
 
- Fonctions membres publiques hérités de Arcane::ParallelNonBlockingCollectiveDispatcher
 ParallelNonBlockingCollectiveDispatcher (IParallelMng *pm)
 
virtual IParallelMngparallelMng () const
 Gestionnaire de parallélisme associé.
 
virtual IParallelNonBlockingCollectiveDispatchT< char > * dispatcher (char *)
 
virtual IParallelNonBlockingCollectiveDispatchT< signed char > * dispatcher (signed char *)
 
virtual IParallelNonBlockingCollectiveDispatchT< unsigned char > * dispatcher (unsigned char *)
 
virtual IParallelNonBlockingCollectiveDispatchT< short > * dispatcher (short *)
 
virtual IParallelNonBlockingCollectiveDispatchT< unsigned short > * dispatcher (unsigned short *)
 
virtual IParallelNonBlockingCollectiveDispatchT< int > * dispatcher (int *)
 
virtual IParallelNonBlockingCollectiveDispatchT< unsigned int > * dispatcher (unsigned int *)
 
virtual IParallelNonBlockingCollectiveDispatchT< long > * dispatcher (long *)
 
virtual IParallelNonBlockingCollectiveDispatchT< unsigned long > * dispatcher (unsigned long *)
 
virtual IParallelNonBlockingCollectiveDispatchT< long long > * dispatcher (long long *)
 
virtual IParallelNonBlockingCollectiveDispatchT< unsigned long long > * dispatcher (unsigned long long *)
 
virtual IParallelNonBlockingCollectiveDispatchT< float > * dispatcher (float *)
 
virtual IParallelNonBlockingCollectiveDispatchT< double > * dispatcher (double *)
 
virtual IParallelNonBlockingCollectiveDispatchT< long double > * dispatcher (long double *)
 
virtual IParallelNonBlockingCollectiveDispatchT< Real2 > * dispatcher (Real2 *)
 
virtual IParallelNonBlockingCollectiveDispatchT< Real3 > * dispatcher (Real3 *)
 
virtual IParallelNonBlockingCollectiveDispatchT< Real2x2 > * dispatcher (Real2x2 *)
 
virtual IParallelNonBlockingCollectiveDispatchT< Real3x3 > * dispatcher (Real3x3 *)
 
virtual IParallelNonBlockingCollectiveDispatchT< HPReal > * dispatcher (HPReal *)
 
- Fonctions membres publiques hérités de Arcane::IParallelNonBlockingCollective
virtual ~IParallelNonBlockingCollective ()
 Libère les ressources.
 
virtual Request allGather (ConstArrayView< char > send_buf, ArrayView< char > recv_buf)=0
 Effectue un regroupement sur tous les processeurs. Il s'agit d'une opération collective. Le tableau send_buf doit avoir la même taille, notée n, pour tous les processeurs et le tableau recv_buf doit avoir une taille égale au nombre de processeurs multiplié par n.
 
virtual Request allGather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf)=0
 
virtual Request allGather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf)=0
 
virtual Request allGather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf)=0
 
virtual Request allGather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf)=0
 
virtual Request allGather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf)=0
 
virtual Request allGather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf)=0
 
virtual Request allGather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf)=0
 
virtual Request allGather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf)=0
 
virtual Request allGather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf)=0
 
virtual Request allGather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf)=0
 
virtual Request allGather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf)=0
 
virtual Request allGather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf)=0
 
virtual Request allGather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf)=0
 
virtual Request allGather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf)=0
 
virtual Request allGather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf)=0
 
virtual Request allGather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf)=0
 
virtual Request allGather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf)=0
 
virtual Request allGather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf)=0
 
virtual Request gather (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer rank)=0
 Effectue un regroupement sur un processeurs. Il s'agit d'une opération collective. Le tableau send_buf doit avoir la même taille, notée n, pour tous les processeurs et le tableau recv_buf pour le processeur rank doit avoir une taille égale au nombre de processeurs multiplié par n. Ce tableau recv_buf est inutilisé pour les autres rangs que rank.
 
virtual Request gather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer rank)=0
 
virtual Request gather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer rank)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< char > send_buf, ArrayView< char > recv_buf)=0
 Effectue la réduction de type rt sur le tableau send_buf et stoque le résultat dans recv_buf.
 
virtual Request allReduce (eReduceType rt, ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< short > send_buf, ArrayView< short > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< int > send_buf, ArrayView< int > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< long > send_buf, ArrayView< long > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< float > send_buf, ArrayView< float > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< double > send_buf, ArrayView< double > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf)=0
 
virtual Request allReduce (eReduceType rt, ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf)=0
 
virtual Request broadcast (ArrayView< char > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< signed char > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< unsigned char > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< short > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< unsigned short > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< int > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< unsigned int > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< long > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< unsigned long > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< long long > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< unsigned long long > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< float > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< double > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< long double > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< Real2 > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< Real3 > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< Real2x2 > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< Real3x3 > send_buf, Integer rank)=0
 
virtual Request broadcast (ArrayView< HPReal > send_buf, Integer rank)=0
 
virtual Request allToAll (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer count)=0
 Effectue un broadcast d'une zone mémoire.
 
virtual Request allToAll (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer count)=0
 
virtual Request allToAll (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer count)=0
 
virtual Request allToAllVariable (ConstArrayView< char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< signed char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< signed char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< unsigned char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< int > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< int > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< unsigned int > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned int > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< short > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< short > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< unsigned short > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned short > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< unsigned long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< long long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< unsigned long long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned long long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< float > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< float > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< double > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< double > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< long double > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long double > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< Real2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< Real3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< Real2x2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2x2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< Real3x3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3x3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual Request allToAllVariable (ConstArrayView< HPReal > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< HPReal > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 

Attributs privés

ITraceMngm_trace_mng
 
MpiAdapterm_adapter
 

Membres hérités additionnels

- Types publics hérités de Arcane::IParallelNonBlockingCollective
typedef Parallel::Request Request
 
typedef Parallel::eReduceType eReduceType
 
- Fonctions membres protégées hérités de Arcane::ParallelNonBlockingCollectiveDispatcher
void _setDispatchers (IParallelNonBlockingCollectiveDispatchT< char > *c, IParallelNonBlockingCollectiveDispatchT< signed char > *sc, IParallelNonBlockingCollectiveDispatchT< unsigned char > *uc, IParallelNonBlockingCollectiveDispatchT< short > *s, IParallelNonBlockingCollectiveDispatchT< unsigned short > *us, IParallelNonBlockingCollectiveDispatchT< int > *i, IParallelNonBlockingCollectiveDispatchT< unsigned int > *ui, IParallelNonBlockingCollectiveDispatchT< long > *l, IParallelNonBlockingCollectiveDispatchT< unsigned long > *ul, IParallelNonBlockingCollectiveDispatchT< long long > *ll, IParallelNonBlockingCollectiveDispatchT< unsigned long long > *ull, IParallelNonBlockingCollectiveDispatchT< float > *f, IParallelNonBlockingCollectiveDispatchT< double > *d, IParallelNonBlockingCollectiveDispatchT< long double > *ld, IParallelNonBlockingCollectiveDispatchT< Real2 > *r2, IParallelNonBlockingCollectiveDispatchT< Real3 > *r3, IParallelNonBlockingCollectiveDispatchT< Real2x2 > *r22, IParallelNonBlockingCollectiveDispatchT< Real3x3 > *r33, IParallelNonBlockingCollectiveDispatchT< HPReal > *hpr)
 
ITimeStatstimeStats ()
 

Description détaillée

Gestionnaire du parallélisme utilisant MPI.

Définition à la ligne 34 du fichier MpiParallelNonBlockingCollective.h.

Documentation des constructeurs et destructeur

◆ MpiParallelNonBlockingCollective()

Arcane::MpiParallelNonBlockingCollective::MpiParallelNonBlockingCollective ( ITraceMng tm,
IParallelMng pm,
MpiAdapter adapter 
)

Définition à la ligne 29 du fichier MpiParallelNonBlockingCollective.cc.

◆ ~MpiParallelNonBlockingCollective()

Arcane::MpiParallelNonBlockingCollective::~MpiParallelNonBlockingCollective ( )
virtual

Définition à la ligne 40 du fichier MpiParallelNonBlockingCollective.cc.

Documentation des fonctions membres

◆ barrier()

Parallel::Request Arcane::MpiParallelNonBlockingCollective::barrier ( )
virtual

Effectue une barière.

Implémente Arcane::IParallelNonBlockingCollective.

Définition à la ligne 79 du fichier MpiParallelNonBlockingCollective.cc.

◆ build()

void Arcane::MpiParallelNonBlockingCollective::build ( )
virtual

Construit l'instance.

Implémente Arcane::IParallelNonBlockingCollective.

Définition à la ligne 48 du fichier MpiParallelNonBlockingCollective.cc.

◆ hasValidReduceForDerivedType()

bool Arcane::MpiParallelNonBlockingCollective::hasValidReduceForDerivedType ( ) const
virtual

Indique si l'implémentation autorise les réductions sur les types dérivés.

Les version de OpenMPI jusqu'à la version 1.8.4 incluses semblent avoir un bug (qui se traduit par un plantage) avec les réductions non bloquantes lorsque l'opérateur de réduction est redéfini. C'est le cas avec les types dérivés tels que Real3, Real2, ...

Implémente Arcane::IParallelNonBlockingCollective.

Définition à la ligne 88 du fichier MpiParallelNonBlockingCollective.cc.

Documentation des données membres

◆ m_adapter

MpiAdapter* Arcane::MpiParallelNonBlockingCollective::m_adapter
private

Définition à la ligne 51 du fichier MpiParallelNonBlockingCollective.h.

◆ m_trace_mng

ITraceMng* Arcane::MpiParallelNonBlockingCollective::m_trace_mng
private

Définition à la ligne 50 du fichier MpiParallelNonBlockingCollective.h.


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