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

Interface des opérations parallèles collectives non bloquantes. Plus de détails...

#include <arcane/core/IParallelNonBlockingCollective.h>

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

Types publics

typedef Parallel::Request Request
 
typedef Parallel::eReduceType eReduceType
 

Fonctions membres publiques

virtual ~IParallelNonBlockingCollective ()
 Libère les ressources.
 
virtual void build ()=0
 Construit l'instance.
 
virtual IParallelMngparallelMng () const =0
 Gestionnaire de parallélisme associé.
 
allGather
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
 
gather
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
 
opérations de réduction sur un tableau
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
 
opérations de broadcast

Envoie un tableau de valeurs sur tous les sous-domaines.

Cette opération envoie le tableau de valeur send_buf sur tous les sous-domaines. Le tableau utilisé est celui dont le rang (commRank) est rank. Tous les sous-domaines participants doivent appelés cette méthode avec le même paramètre rank et avoir un tableau send_buf contenant le même nombre d'éléments.

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
 
allToAll variable

Effectue un allToAll variable

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
 
opérations de synchronisation et opérations asynchrones
virtual Request barrier ()=0
 Effectue une barière.
 
virtual bool hasValidReduceForDerivedType () const =0
 Indique si l'implémentation autorise les réductions sur les types dérivés.
 

Description détaillée

Interface des opérations parallèles collectives non bloquantes.

Définition à la ligne 55 du fichier IParallelNonBlockingCollective.h.

Documentation des définitions de type membres

◆ eReduceType

◆ Request

Documentation des constructeurs et destructeur

◆ ~IParallelNonBlockingCollective()

virtual Arcane::IParallelNonBlockingCollective::~IParallelNonBlockingCollective ( )
inlinevirtual

Libère les ressources.

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

Documentation des fonctions membres

◆ allToAll()

virtual Request Arcane::IParallelNonBlockingCollective::allToAll ( ConstArrayView< char send_buf,
ArrayView< char recv_buf,
Integer  count 
)
pure virtual

Effectue un broadcast d'une zone mémoire.

Le processeur qui effectue le broacast est donnée par \id. Le tableau envoyé est alors donnée par bytes. Les processeurs réceptionnent le tableau dans bytes. Ce tableau est alloué automatiquement, les processeurs réceptionnant n'ont pas besoin de connaitre le nombre d'octets devant être envoyés.

◆ barrier()

virtual Request Arcane::IParallelNonBlockingCollective::barrier ( )
pure virtual

Effectue une barière.

Implémenté dans Arcane::MpiParallelNonBlockingCollective.

◆ build()

virtual void Arcane::IParallelNonBlockingCollective::build ( )
pure virtual

Construit l'instance.

Implémenté dans Arcane::MpiParallelNonBlockingCollective.

Référencé par Arcane::MpiParallelMng::build().

◆ hasValidReduceForDerivedType()

virtual bool Arcane::IParallelNonBlockingCollective::hasValidReduceForDerivedType ( ) const
pure 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émenté dans Arcane::MpiParallelNonBlockingCollective.

◆ parallelMng()

virtual IParallelMng * Arcane::IParallelNonBlockingCollective::parallelMng ( ) const
pure virtual

Gestionnaire de parallélisme associé.

Implémenté dans Arcane::ParallelNonBlockingCollectiveDispatcher.


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