Gestionnaire du parallélisme utilisant MPI. Plus de détails...
#include <arcane/parallel/mpi/MpiParallelNonBlockingCollective.h>
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. | |
![]() | |
ParallelNonBlockingCollectiveDispatcher (IParallelMng *pm) | |
virtual IParallelMng * | parallelMng () const |
Gestionnaire de parallélisme associé. | |
ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_char, char) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_unsigned_char | |
unsigned char | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_signed_char, signed char) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_short |
unsigned char short | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_unsigned_short, unsigned short) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_int |
unsigned char short int | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_unsigned_int, unsigned int) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_long |
unsigned char short int long | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_unsigned_long, unsigned long) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_long_long |
unsigned char short int long long long | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_unsigned_long_long, unsigned long long) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_float |
unsigned char short int long long long float | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_double, double) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_long_double |
unsigned char short int long long long float long double | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_real2, Real2) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_real3 |
unsigned char short int long long long float long double Real3 | ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE (m_real2x2, Real2x2) ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_real3x3 |
unsigned char short int long long long float long double Real3 Real3x3 virtual ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_hpreal, HPReal) public 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 *) |
![]() | |
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 | |
ITraceMng * | m_trace_mng |
MpiAdapter * | m_adapter |
Gestionnaire du parallélisme utilisant MPI.
Définition à la ligne 34 du fichier MpiParallelNonBlockingCollective.h.
Arcane::MpiParallelNonBlockingCollective::MpiParallelNonBlockingCollective | ( | ITraceMng * | tm, |
IParallelMng * | pm, | ||
MpiAdapter * | adapter ) |
Définition à la ligne 29 du fichier MpiParallelNonBlockingCollective.cc.
|
virtual |
Définition à la ligne 40 du fichier MpiParallelNonBlockingCollective.cc.
|
virtual |
Effectue une barière.
Implémente Arcane::IParallelNonBlockingCollective.
Définition à la ligne 79 du fichier MpiParallelNonBlockingCollective.cc.
|
virtual |
Construit l'instance.
Implémente Arcane::IParallelNonBlockingCollective.
Définition à la ligne 48 du fichier MpiParallelNonBlockingCollective.cc.
|
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.
|
private |
Définition à la ligne 51 du fichier MpiParallelNonBlockingCollective.h.
|
private |
Définition à la ligne 50 du fichier MpiParallelNonBlockingCollective.h.