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

Gestionnaire du parallélisme utilisant les threads. Plus de détails...

#include <arcane/parallel/mpithread/HybridParallelMng.h>

+ Graphe d'héritage de Arcane::MessagePassing::HybridParallelMng:
+ Graphe de collaboration de Arcane::MessagePassing::HybridParallelMng:

Classes

class  RequestList
 Implémentation de IRequestList pour HybridParallelMng. Plus de détails...
 

Fonctions membres publiques

 HybridParallelMng (const HybridParallelMngBuildInfo &bi)
 
bool isParallel () const override
 Retourne true si l'exécution est parallèle.
 
Int32 commRank () const override
 Rang de cette instance dans le communicateur.
 
Int32 commSize () const override
 Nombre d'instance dans le communicateur.
 
voidgetMPICommunicator () override
 Adresse du communicateur MPI associé à ce gestionnaire.
 
MP::Communicator communicator () const override
 Communicateur MPI associé à ce gestionnaire.
 
bool isThreadImplementation () const override
 Indique si l'implémentation utilise les threads.
 
bool isHybridImplementation () const override
 Indique si l'implémentation utilise le mode hybride.
 
ITraceMngtraceMng () const override
 Gestionnaire de traces.
 
IThreadMngthreadMng () const override
 Gestionnaire de threads.
 
IParallelMngworldParallelMng () const override
 Gestionnaire de parallélisme sur l'ensemble des ressources allouées.
 
IIOMngioMng () const override
 Gestionnaire des entrées/sorties.
 
void initialize () override
 Initialise le gestionnaire du parallélisme.
 
bool isMasterIO () const override
 true si l'instance est un gestionnaire maître des entrées/sorties.
 
Int32 masterIORank () const override
 Rang de l'instance gérant les entrées/sorties (pour laquelle isMasterIO() est vrai)
 
ITimerMngtimerMng () const override
 Gestionnaire de timers.
 
IParallelMngsequentialParallelMng () override
 Retourne un gestionnaire de parallélisme séquentiel.
 
Ref< IParallelMngsequentialParallelMngRef () override
 
void sendSerializer (ISerializer *values, Int32 rank) override
 
Request sendSerializer (ISerializer *values, Int32 rank, ByteArray &bytes) override
 
ISerializeMessagecreateSendSerializer (Int32 rank) override
 Créé un message non bloquant pour envoyer des données sérialisées au rang rank.
 
void recvSerializer (ISerializer *values, Int32 rank) override
 
ISerializeMessagecreateReceiveSerializer (Int32 rank) override
 Créé un message non bloquant pour recevoir des données sérialisées du rang rank.
 
void freeRequests (ArrayView< Request > requests) override
 Libère les requêtes.
 
void broadcastSerializer (ISerializer *values, Int32 rank) override
 
MessageId probe (const PointToPointMessageInfo &message) override
 Sonde si des messages sont disponibles.
 
MessageSourceInfo legacyProbe (const PointToPointMessageInfo &message) override
 Sonde si des messages sont disponibles.
 
Request sendSerializer (const ISerializer *values, const PointToPointMessageInfo &message) override
 
Request receiveSerializer (ISerializer *values, const PointToPointMessageInfo &message) override
 
void printStats () override
 Affiche des statistiques liées à ce gestionnaire du parallélisme.
 
void barrier () override
 Effectue une barière.
 
void waitAllRequests (ArrayView< Request > requests) override
 Bloque en attendant que les requêtes rvalues soient terminées.
 
IParallelNonBlockingCollectivenonBlockingCollective () const override
 Interface des opérations collectives non blocantes.
 
void build () override
 Construit l'instance.
 
Int32 localRank () const
 
Int32 localNbRank () const
 
MpiParallelMngmpiParallelMng ()
 
PointToPointMessageInfo buildMessage (Int32 dest, MP::eBlockingType is_blocking)
 Construit un message avec pour destinataire dest.
 
PointToPointMessageInfo buildMessage (const PointToPointMessageInfo &message)
 
IThreadBarriergetThreadBarrier ()
 
- Fonctions membres publiques hérités de Arcane::ParallelMngDispatcher
 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS ()
 
 ParallelMngDispatcher (const ParallelMngDispatcherBuildInfo &bi)
 
 ParallelMngDispatcher (const ParallelMngDispatcher &)=delete
 
 ParallelMngDispatcher (ParallelMngDispatcher &&)=delete
 
ParallelMngDispatcheroperator= (ParallelMngDispatcher &&)=delete
 
ParallelMngDispatcheroperator= (const ParallelMngDispatcher &)=delete
 
IMessagePassingMngmessagePassingMng () const override
 Gestionnaire de message de Arccore associé
 
void broadcastString (String &str, Int32 rank) override
 
void broadcastMemoryBuffer (ByteArray &bytes, Int32 rank) override
 Effectue un broadcast d'une zone mémoire.
 
void allGather (ISerializer *send_serializer, ISerializer *recv_serializer) override
 Redéfinit ici allGather pour éviter de cacher le symbole dans les classes dérivées.
 
virtual IParallelDispatchT< char > * dispatcher (char *)
 
virtual IParallelDispatchT< signed char > * dispatcher (signed char *)
 
virtual IParallelDispatchT< unsigned char > * dispatcher (unsigned char *)
 
virtual IParallelDispatchT< short > * dispatcher (short *)
 
virtual IParallelDispatchT< unsigned short > * dispatcher (unsigned short *)
 
virtual IParallelDispatchT< int > * dispatcher (int *)
 
virtual IParallelDispatchT< unsigned int > * dispatcher (unsigned int *)
 
virtual IParallelDispatchT< long > * dispatcher (long *)
 
virtual IParallelDispatchT< unsigned long > * dispatcher (unsigned long *)
 
virtual IParallelDispatchT< long long > * dispatcher (long long *)
 
virtual IParallelDispatchT< unsigned long long > * dispatcher (unsigned long long *)
 
virtual IParallelDispatchT< APReal > * dispatcher (APReal *)
 
virtual IParallelDispatchT< float > * dispatcher (float *)
 
virtual IParallelDispatchT< double > * dispatcher (double *)
 
virtual IParallelDispatchT< long double > * dispatcher (long double *)
 
virtual IParallelDispatchT< Real2 > * dispatcher (Real2 *)
 
virtual IParallelDispatchT< Real3 > * dispatcher (Real3 *)
 
virtual IParallelDispatchT< Real2x2 > * dispatcher (Real2x2 *)
 
virtual IParallelDispatchT< Real3x3 > * dispatcher (Real3x3 *)
 
virtual IParallelDispatchT< HPReal > * dispatcher (HPReal *)
 
template<class CreatorType >
void createDispatchers (CreatorType &ct)
 
ITimeStatstimeStats () const override
 Gestionnaire de statistiques associé (peut être nul)
 
void setTimeStats (ITimeStats *ts) override
 Positionne le gestionnaire de statistiques.
 
ITimeMetricCollectortimeMetricCollector () const override
 Collecteur Arccore des statistiques temporelles (peut être nul)
 
UniqueArray< Integer > waitSomeRequests (ArrayView< Request > requests) override
 Bloque en attendant qu'une des requêtes rvalues soit terminée.
 
UniqueArray< Integer > testSomeRequests (ArrayView< Request > requests) override
 Test si une des requêtes rvalues est terminée.
 
void processMessages (ConstArrayView< ISerializeMessage * > messages) override
 Exécute les opérations des messages messages.
 
ISerializeMessageListcreateSerializeMessageList () final
 Créé une liste pour gérer les 'ISerializeMessage'.
 
Ref< ISerializeMessageListcreateSerializeMessageListRef () final
 Créé une liste pour gérer les 'ISerializeMessage'.
 
IParallelMngcreateSubParallelMng (Int32ConstArrayView kept_ranks) final
 Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs.
 
Ref< IParallelMngcreateSubParallelMngRef (Int32ConstArrayView kept_ranks) override
 Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs.
 
IParallelMngInternal_internalApi () override
 API interne à Arcane.
 
- Fonctions membres publiques hérités de Arccore::ReferenceCounterImpl
void addReference ()
 
void removeReference ()
 
void _internalAddReference ()
 
bool _internalRemoveReference ()
 
- Fonctions membres publiques hérités de Arcane::IParallelMng
virtual ~IParallelMng ()=default
 Libère les ressources.
 
virtual ARCANE_DEPRECATED_120 voidmpiCommunicator ()
 Adresse du communicateur MPI associé à ce gestionnaire.
 
virtual void 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 void allGather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf)=0
 
virtual void allGather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf)=0
 
virtual void allGather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf)=0
 
virtual void allGather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf)=0
 
virtual void allGather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf)=0
 
virtual void allGather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf)=0
 
virtual void allGather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf)=0
 
virtual void allGather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf)=0
 
virtual void allGather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf)=0
 
virtual void allGather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf)=0
 
virtual void allGather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf)=0
 
virtual void allGather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf)=0
 
virtual void allGather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf)=0
 
virtual void allGather (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf)=0
 
virtual void allGather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf)=0
 
virtual void allGather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf)=0
 
virtual void allGather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf)=0
 
virtual void allGather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf)=0
 
virtual void allGather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf)=0
 
virtual void gather (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Int32 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 void gather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Int32 rank)=0
 
virtual void gather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< char > send_buf, Array< char > &recv_buf, Int32 rank)=0
 Effectue un regroupement sur tous les processeurs.
 
virtual void gatherVariable (ConstArrayView< signed char > send_buf, Array< signed char > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< unsigned char > send_buf, Array< unsigned char > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< short > send_buf, Array< short > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< unsigned short > send_buf, Array< unsigned short > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< int > send_buf, Array< int > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< unsigned int > send_buf, Array< unsigned int > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< long > send_buf, Array< long > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< unsigned long > send_buf, Array< unsigned long > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< long long > send_buf, Array< long long > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< unsigned long long > send_buf, Array< unsigned long long > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< float > send_buf, Array< float > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< double > send_buf, Array< double > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< long double > send_buf, Array< long double > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< APReal > send_buf, Array< APReal > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< Real2 > send_buf, Array< Real2 > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< Real3 > send_buf, Array< Real3 > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< Real2x2 > send_buf, Array< Real2x2 > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< Real3x3 > send_buf, Array< Real3x3 > &recv_buf, Int32 rank)=0
 
virtual void gatherVariable (ConstArrayView< HPReal > send_buf, Array< HPReal > &recv_buf, Int32 rank)=0
 
virtual void allGatherVariable (ConstArrayView< char > send_buf, Array< char > &recv_buf)=0
 Effectue un regroupement sur tous les processeurs.
 
virtual void allGatherVariable (ConstArrayView< signed char > send_buf, Array< signed char > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< unsigned char > send_buf, Array< unsigned char > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< short > send_buf, Array< short > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< unsigned short > send_buf, Array< unsigned short > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< int > send_buf, Array< int > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< unsigned int > send_buf, Array< unsigned int > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< long > send_buf, Array< long > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< unsigned long > send_buf, Array< unsigned long > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< long long > send_buf, Array< long long > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< unsigned long long > send_buf, Array< unsigned long long > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< float > send_buf, Array< float > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< double > send_buf, Array< double > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< long double > send_buf, Array< long double > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< APReal > send_buf, Array< APReal > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< Real2 > send_buf, Array< Real2 > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< Real3 > send_buf, Array< Real3 > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< Real2x2 > send_buf, Array< Real2x2 > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< Real3x3 > send_buf, Array< Real3x3 > &recv_buf)=0
 
virtual void allGatherVariable (ConstArrayView< HPReal > send_buf, Array< HPReal > &recv_buf)=0
 
virtual void scatterVariable (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer root)=0
 Scinde un tableau sur plusieurs processeurs.
 
virtual void scatterVariable (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer root)=0
 
virtual void scatterVariable (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer root)=0
 
virtual char reduce (eReduceType rt, char v)=0
 Effectue la réduction de type rt sur le réel v et retourne la valeur.
 
virtual signed char reduce (eReduceType rt, signed char v)=0
 
virtual unsigned char reduce (eReduceType rt, unsigned char v)=0
 
virtual short reduce (eReduceType rt, short v)=0
 
virtual unsigned short reduce (eReduceType rt, unsigned short v)=0
 
virtual int reduce (eReduceType rt, int v)=0
 
virtual unsigned int reduce (eReduceType rt, unsigned int v)=0
 
virtual long reduce (eReduceType rt, long v)=0
 
virtual unsigned long reduce (eReduceType rt, unsigned long v)=0
 
virtual long long reduce (eReduceType rt, long long v)=0
 
virtual unsigned long long reduce (eReduceType rt, unsigned long long v)=0
 
virtual float reduce (eReduceType rt, float v)=0
 
virtual double reduce (eReduceType rt, double v)=0
 
virtual long double reduce (eReduceType rt, long double v)=0
 
virtual APReal reduce (eReduceType rt, APReal v)=0
 
virtual Real2 reduce (eReduceType rt, Real2 v)=0
 
virtual Real3 reduce (eReduceType rt, Real3 v)=0
 
virtual Real2x2 reduce (eReduceType rt, Real2x2 v)=0
 
virtual Real3x3 reduce (eReduceType rt, Real3x3 v)=0
 
virtual HPReal reduce (eReduceType rt, HPReal v)=0
 
virtual void computeMinMaxSum (char val, char &min_val, char &max_val, char &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 Calcule en une opération la somme, le min, le max d'une valeur.
 
virtual void computeMinMaxSum (signed char val, signed char &min_val, signed char &max_val, signed char &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (unsigned char val, unsigned char &min_val, unsigned char &max_val, unsigned char &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (short val, short &min_val, short &max_val, short &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (unsigned short val, unsigned short &min_val, unsigned short &max_val, unsigned short &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (int val, int &min_val, int &max_val, int &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (unsigned int val, unsigned int &min_val, unsigned int &max_val, unsigned int &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (long val, long &min_val, long &max_val, long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (unsigned long val, unsigned long &min_val, unsigned long &max_val, unsigned long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (long long val, long long &min_val, long long &max_val, long long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (unsigned long long val, unsigned long long &min_val, unsigned long long &max_val, unsigned long long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (float val, float &min_val, float &max_val, float &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (double val, double &min_val, double &max_val, double &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (long double val, long double &min_val, long double &max_val, long double &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (APReal val, APReal &min_val, APReal &max_val, APReal &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (Real2 val, Real2 &min_val, Real2 &max_val, Real2 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (Real3 val, Real3 &min_val, Real3 &max_val, Real3 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (Real2x2 val, Real2x2 &min_val, Real2x2 &max_val, Real2x2 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (Real3x3 val, Real3x3 &min_val, Real3x3 &max_val, Real3x3 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (HPReal val, HPReal &min_val, HPReal &max_val, HPReal &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 
virtual void computeMinMaxSum (ConstArrayView< char > values, ArrayView< char > min_values, ArrayView< char > max_values, ArrayView< char > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 Calcule en une opération la somme, le min, le max d'une valeur.
 
virtual void computeMinMaxSum (ConstArrayView< signed char > values, ArrayView< signed char > min_values, ArrayView< signed char > max_values, ArrayView< signed char > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< unsigned char > values, ArrayView< unsigned char > min_values, ArrayView< unsigned char > max_values, ArrayView< unsigned char > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< short > values, ArrayView< short > min_values, ArrayView< short > max_values, ArrayView< short > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< unsigned short > values, ArrayView< unsigned short > min_values, ArrayView< unsigned short > max_values, ArrayView< unsigned short > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< int > values, ArrayView< int > min_values, ArrayView< int > max_values, ArrayView< int > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< unsigned int > values, ArrayView< unsigned int > min_values, ArrayView< unsigned int > max_values, ArrayView< unsigned int > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< long > values, ArrayView< long > min_values, ArrayView< long > max_values, ArrayView< long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< unsigned long > values, ArrayView< unsigned long > min_values, ArrayView< unsigned long > max_values, ArrayView< unsigned long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< long long > values, ArrayView< long long > min_values, ArrayView< long long > max_values, ArrayView< long long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< unsigned long long > values, ArrayView< unsigned long long > min_values, ArrayView< unsigned long long > max_values, ArrayView< unsigned long long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< float > values, ArrayView< float > min_values, ArrayView< float > max_values, ArrayView< float > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< double > values, ArrayView< double > min_values, ArrayView< double > max_values, ArrayView< double > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< long double > values, ArrayView< long double > min_values, ArrayView< long double > max_values, ArrayView< long double > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< APReal > values, ArrayView< APReal > min_values, ArrayView< APReal > max_values, ArrayView< APReal > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< Real2 > values, ArrayView< Real2 > min_values, ArrayView< Real2 > max_values, ArrayView< Real2 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< Real3 > values, ArrayView< Real3 > min_values, ArrayView< Real3 > max_values, ArrayView< Real3 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< Real2x2 > values, ArrayView< Real2x2 > min_values, ArrayView< Real2x2 > max_values, ArrayView< Real2x2 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< Real3x3 > values, ArrayView< Real3x3 > min_values, ArrayView< Real3x3 > max_values, ArrayView< Real3x3 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void computeMinMaxSum (ConstArrayView< HPReal > values, ArrayView< HPReal > min_values, ArrayView< HPReal > max_values, ArrayView< HPReal > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 
virtual void reduce (eReduceType rt, ArrayView< char > v)=0
 Effectue la réduction de type rt sur le tableau v.
 
virtual void reduce (eReduceType rt, ArrayView< signed char > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< unsigned char > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< short > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< unsigned short > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< int > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< unsigned int > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< long > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< unsigned long > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< long long > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< unsigned long long > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< float > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< double > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< long double > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< APReal > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< Real2 > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< Real3 > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< Real2x2 > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< Real3x3 > v)=0
 
virtual void reduce (eReduceType rt, ArrayView< HPReal > v)=0
 
virtual void broadcast (ArrayView< char > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< signed char > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< unsigned char > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< short > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< unsigned short > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< int > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< unsigned int > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< long > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< unsigned long > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< long long > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< unsigned long long > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< float > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< double > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< long double > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< APReal > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< Real2 > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< Real3 > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< Real2x2 > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< Real3x3 > send_buf, Int32 rank)=0
 
virtual void broadcast (ArrayView< HPReal > send_buf, Int32 rank)=0
 
virtual void send (ConstArrayView< char > values, Int32 rank)=0
 
virtual void send (ConstArrayView< signed char > values, Int32 rank)=0
 
virtual void send (ConstArrayView< unsigned char > values, Int32 rank)=0
 
virtual void send (ConstArrayView< short > values, Int32 rank)=0
 
virtual void send (ConstArrayView< unsigned short > values, Int32 rank)=0
 
virtual void send (ConstArrayView< int > values, Int32 rank)=0
 
virtual void send (ConstArrayView< unsigned int > values, Int32 rank)=0
 
virtual void send (ConstArrayView< long > values, Int32 rank)=0
 
virtual void send (ConstArrayView< unsigned long > values, Int32 rank)=0
 
virtual void send (ConstArrayView< long long > values, Int32 rank)=0
 
virtual void send (ConstArrayView< unsigned long long > values, Int32 rank)=0
 
virtual void send (ConstArrayView< float > values, Int32 rank)=0
 
virtual void send (ConstArrayView< double > values, Int32 rank)=0
 
virtual void send (ConstArrayView< long double > values, Int32 rank)=0
 
virtual void send (ConstArrayView< APReal > values, Int32 rank)=0
 
virtual void send (ConstArrayView< Real2 > values, Int32 rank)=0
 
virtual void send (ConstArrayView< Real3 > values, Int32 rank)=0
 
virtual void send (ConstArrayView< Real2x2 > values, Int32 rank)=0
 
virtual void send (ConstArrayView< Real3x3 > values, Int32 rank)=0
 
virtual void send (ConstArrayView< HPReal > values, Int32 rank)=0
 
virtual void recv (ArrayView< char > values, Int32 rank)=0
 
virtual void recv (ArrayView< signed char > values, Int32 rank)=0
 
virtual void recv (ArrayView< unsigned char > values, Int32 rank)=0
 
virtual void recv (ArrayView< short > values, Int32 rank)=0
 
virtual void recv (ArrayView< unsigned short > values, Int32 rank)=0
 
virtual void recv (ArrayView< int > values, Int32 rank)=0
 
virtual void recv (ArrayView< unsigned int > values, Int32 rank)=0
 
virtual void recv (ArrayView< long > values, Int32 rank)=0
 
virtual void recv (ArrayView< unsigned long > values, Int32 rank)=0
 
virtual void recv (ArrayView< long long > values, Int32 rank)=0
 
virtual void recv (ArrayView< unsigned long long > values, Int32 rank)=0
 
virtual void recv (ArrayView< float > values, Int32 rank)=0
 
virtual void recv (ArrayView< double > values, Int32 rank)=0
 
virtual void recv (ArrayView< long double > values, Int32 rank)=0
 
virtual void recv (ArrayView< APReal > values, Int32 rank)=0
 
virtual void recv (ArrayView< Real2 > values, Int32 rank)=0
 
virtual void recv (ArrayView< Real3 > values, Int32 rank)=0
 
virtual void recv (ArrayView< Real2x2 > values, Int32 rank)=0
 
virtual void recv (ArrayView< Real3x3 > values, Int32 rank)=0
 
virtual void recv (ArrayView< HPReal > values, Int32 rank)=0
 
virtual Request send (ConstArrayView< char > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< signed char > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< unsigned char > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< short > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< unsigned short > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< int > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< unsigned int > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< long > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< unsigned long > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< long long > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< unsigned long long > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< float > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< double > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< long double > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< APReal > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< Real2 > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< Real3 > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< Real2x2 > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< Real3x3 > values, Int32 rank, bool is_blocking)=0
 
virtual Request send (ConstArrayView< HPReal > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< char > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< signed char > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< unsigned char > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< short > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< unsigned short > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< int > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< unsigned int > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< long > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< unsigned long > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< long long > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< unsigned long long > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< float > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< double > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< long double > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< APReal > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< Real2 > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< Real3 > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< Real2x2 > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< Real3x3 > values, Int32 rank, bool is_blocking)=0
 
virtual Request recv (ArrayView< HPReal > values, Int32 rank, bool is_blocking)=0
 
virtual Request receive (Span< char > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< signed char > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< unsigned char > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< short > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< unsigned short > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< int > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< unsigned int > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< long > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< unsigned long > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< long long > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< unsigned long long > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< float > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< double > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< long double > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< APReal > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< Real2 > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< Real3 > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< Real2x2 > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< Real3x3 > values, const PointToPointMessageInfo &message)=0
 
virtual Request receive (Span< HPReal > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const char > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const signed char > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const unsigned char > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const short > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const unsigned short > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const int > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const unsigned int > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const long > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const unsigned long > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const long long > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const unsigned long long > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const float > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const double > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const long double > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const APReal > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const Real2 > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const Real3 > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const Real2x2 > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const Real3x3 > values, const PointToPointMessageInfo &message)=0
 
virtual Request send (Span< const HPReal > values, const PointToPointMessageInfo &message)=0
 
virtual void sendRecv (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Int32 rank)=0
 
virtual void sendRecv (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Int32 rank)=0
 
virtual void allToAll (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer count)=0
 
virtual void allToAll (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer count)=0
 
virtual void allToAllVariable (ConstArrayView< char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void 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 void 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 void allToAllVariable (ConstArrayView< short > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< short > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void 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 void allToAllVariable (ConstArrayView< int > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< int > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void 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 void allToAllVariable (ConstArrayView< long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void 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 void 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 void 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 void allToAllVariable (ConstArrayView< float > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< float > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void allToAllVariable (ConstArrayView< double > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< double > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void 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 void allToAllVariable (ConstArrayView< APReal > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< APReal > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void allToAllVariable (ConstArrayView< Real2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void allToAllVariable (ConstArrayView< Real3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void allToAllVariable (ConstArrayView< Real2x2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2x2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void allToAllVariable (ConstArrayView< Real3x3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3x3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void allToAllVariable (ConstArrayView< HPReal > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< HPReal > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
 
virtual void scan (eReduceType rt, ArrayView< char > v)=0
 Applique un algorithme de prefix-um sur les valeurs de v via l'opération rt.
 
virtual void scan (eReduceType rt, ArrayView< signed char > v)=0
 
virtual void scan (eReduceType rt, ArrayView< unsigned char > v)=0
 
virtual void scan (eReduceType rt, ArrayView< short > v)=0
 
virtual void scan (eReduceType rt, ArrayView< unsigned short > v)=0
 
virtual void scan (eReduceType rt, ArrayView< int > v)=0
 
virtual void scan (eReduceType rt, ArrayView< unsigned int > v)=0
 
virtual void scan (eReduceType rt, ArrayView< long > v)=0
 
virtual void scan (eReduceType rt, ArrayView< unsigned long > v)=0
 
virtual void scan (eReduceType rt, ArrayView< long long > v)=0
 
virtual void scan (eReduceType rt, ArrayView< unsigned long long > v)=0
 
virtual void scan (eReduceType rt, ArrayView< float > v)=0
 
virtual void scan (eReduceType rt, ArrayView< double > v)=0
 
virtual void scan (eReduceType rt, ArrayView< long double > v)=0
 
virtual void scan (eReduceType rt, ArrayView< APReal > v)=0
 
virtual void scan (eReduceType rt, ArrayView< Real2 > v)=0
 
virtual void scan (eReduceType rt, ArrayView< Real3 > v)=0
 
virtual void scan (eReduceType rt, ArrayView< Real2x2 > v)=0
 
virtual void scan (eReduceType rt, ArrayView< Real3x3 > v)=0
 
virtual void scan (eReduceType rt, ArrayView< HPReal > v)=0
 

Fonctions membres protégées

IGetVariablesValuesParallelOperationcreateGetVariablesValuesOperation () override
 Retourne une opération pour récupérer les valeurs d'une variable sur les entités d'un autre sous-domaine.
 
ITransferValuesParallelOperationcreateTransferValuesOperation () override
 Retourne une opération pour transférer des valeurs entre sous-domaine.
 
IParallelExchangercreateExchanger () override
 Retourne une interface pour transférer des messages entre processeurs.
 
IParallelTopologycreateTopology () override
 Créé une instance contenant les infos sur la topologie des rangs de ce gestionnnaire.
 
IVariableSynchronizercreateSynchronizer (IItemFamily *family) override
 Retourne une interface pour synchroniser des variables sur le groupe de la famille family.
 
IVariableSynchronizercreateSynchronizer (const ItemGroup &group) override
 Retourne une interface pour synchroniser des variables sur le groupe group.
 
Parallel::IStatstat () override
 Gestionnaire des statistiques.
 
IParallelReplicationreplication () const override
 Informations sur la réplication.
 
void setReplication (IParallelReplication *v) override
 Positionne les Informations sur la réplication.
 
Ref< Parallel::IRequestListcreateRequestListRef () override
 Créé une liste de requêtes pour ce gestionnaire.
 
ISerializeMessageList_createSerializeMessageList () override
 
IParallelMng_createSubParallelMng (Int32ConstArrayView kept_ranks) override
 
Ref< IParallelMngcreateSubParallelMngRef (Int32ConstArrayView kept_ranks) override
 Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs.
 
Ref< IParallelMngUtilsFactory_internalUtilsFactory () const override
 Fabrique des fonctions utilitaires.
 
bool _isAcceleratorAware () const override
 
- Fonctions membres protégées hérités de Arcane::ParallelMngDispatcher
MP::MessagePassingMng_messagePassingMng () const
 
UniqueArray< Integer > _doWaitRequests (ArrayView< Request > requests, Parallel::eWaitType wait_type)
 
virtual Ref< IParallelMng_createSubParallelMngRef (Int32 color, Int32 key)
 
TimeMetricAction _communicationTimeMetricAction () const
 
void _setControlDispatcher (MP::IControlDispatcher *d)
 
void _setSerializeDispatcher (MP::ISerializeDispatcher *d)
 

Fonctions membres privées

SerializeBuffer_castSerializer (ISerializer *serializer)
 

Attributs privés

friend HybridSerializeMessageList
 
ITraceMngm_trace
 
IThreadMngm_thread_mng
 
IParallelMngm_world_parallel_mng
 
IIOMngm_io_mng
 
Ref< IParallelMngm_sequential_parallel_mng
 
ITimerMngm_timer_mng
 
IParallelReplicationm_replication
 
HybridMessageQueuem_message_queue
 
bool m_is_parallel
 
Int32 m_global_rank
 Numéro du processeur actuel.
 
Int32 m_global_nb_rank
 Nombre de rangs globaux.
 
Int32 m_local_rank
 Rang local du processeur actuel.
 
Int32 m_local_nb_rank
 Nombre de rang locaux.
 
bool m_is_initialized
 true si déjà initialisé
 
Parallel::IStatm_stat = nullptr
 
IThreadBarrierm_thread_barrier = nullptr
 
MpiParallelMngm_mpi_parallel_mng = nullptr
 
MpiThreadAllDispatcherm_all_dispatchers = nullptr
 
Array< HybridParallelMng * > * m_parallel_mng_list = nullptr
 
IParallelMngContainerFactorym_sub_builder_factory = nullptr
 
Ref< IParallelMngContainerm_parent_container_ref
 
Ref< IParallelMngUtilsFactorym_utils_factory
 

Membres hérités additionnels

- Types publics hérités de Arcane::IParallelMng
typedef Parallel::Request Request
 
using PointToPointMessageInfo = Parallel::PointToPointMessageInfo
 
using MessageId = Parallel::MessageId
 
using MessageSourceInfo = Parallel::MessageSourceInfo
 
typedef Parallel::eReduceType eReduceType
 
typedef Parallel::IStat IStat
 

Description détaillée

Gestionnaire du parallélisme utilisant les threads.

Définition à la ligne 67 du fichier HybridParallelMng.h.

Documentation des constructeurs et destructeur

◆ HybridParallelMng()

Arcane::MessagePassing::HybridParallelMng::HybridParallelMng ( const HybridParallelMngBuildInfo bi)
explicit

Définition à la ligne 161 du fichier HybridParallelMng.cc.

◆ ~HybridParallelMng()

Arcane::MessagePassing::HybridParallelMng::~HybridParallelMng ( )
override

Définition à la ligne 200 du fichier HybridParallelMng.cc.

Documentation des fonctions membres

◆ _castSerializer()

SerializeBuffer * Arcane::MessagePassing::HybridParallelMng::_castSerializer ( ISerializer serializer)
private

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

◆ _createSerializeMessageList()

ISerializeMessageList * Arcane::MessagePassing::HybridParallelMng::_createSerializeMessageList ( )
overrideprotectedvirtual

Implémente Arcane::ParallelMngDispatcher.

Définition à la ligne 483 du fichier HybridParallelMng.cc.

◆ _createSubParallelMng()

IParallelMng * Arcane::MessagePassing::HybridParallelMng::_createSubParallelMng ( Int32ConstArrayView  kept_ranks)
overrideprotectedvirtual

Implémente Arcane::ParallelMngDispatcher.

Définition à la ligne 648 du fichier HybridParallelMng.cc.

◆ _internalUtilsFactory()

Ref< IParallelMngUtilsFactory > Arcane::MessagePassing::HybridParallelMng::_internalUtilsFactory ( ) const
overrideprotectedvirtual

Fabrique des fonctions utilitaires.

Implémente Arcane::IParallelMng.

Définition à la ligne 816 du fichier HybridParallelMng.cc.

◆ _isAcceleratorAware()

bool Arcane::MessagePassing::HybridParallelMng::_isAcceleratorAware ( ) const
overrideprotectedvirtual

Réimplémentée à partir de Arcane::ParallelMngDispatcher.

Définition à la ligne 825 du fichier HybridParallelMng.cc.

◆ barrier()

void Arcane::MessagePassing::HybridParallelMng::barrier ( )
overridevirtual

Effectue une barière.

Implémente Arcane::IParallelMng.

Définition à la ligne 471 du fichier HybridParallelMng.cc.

Références Arcane::MpiParallelMng::barrier(), m_local_rank, et Arccore::IThreadBarrier::wait().

◆ broadcastSerializer()

void Arcane::MessagePassing::HybridParallelMng::broadcastSerializer ( ISerializer values,
Int32  rank 
)
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 356 du fichier HybridParallelMng.cc.

◆ build()

void Arcane::MessagePassing::HybridParallelMng::build ( )
overridevirtual

◆ buildMessage() [1/2]

PointToPointMessageInfo Arcane::MessagePassing::HybridParallelMng::buildMessage ( const PointToPointMessageInfo message)

Définition à la ligne 628 du fichier HybridParallelMng.cc.

◆ buildMessage() [2/2]

PointToPointMessageInfo Arcane::MessagePassing::HybridParallelMng::buildMessage ( Int32  dest,
MP::eBlockingType  is_blocking 
)

Construit un message avec pour destinataire dest.

Définition à la ligne 639 du fichier HybridParallelMng.cc.

Références buildMessage().

Référencé par buildMessage().

◆ commRank()

Int32 Arcane::MessagePassing::HybridParallelMng::commRank ( ) const
inlineoverridevirtual

Rang de cette instance dans le communicateur.

Implémente Arcane::IParallelMng.

Définition à la ligne 79 du fichier HybridParallelMng.h.

Références m_global_rank.

Référencé par isMasterIO().

◆ commSize()

Int32 Arcane::MessagePassing::HybridParallelMng::commSize ( ) const
inlineoverridevirtual

Nombre d'instance dans le communicateur.

Implémente Arcane::IParallelMng.

Définition à la ligne 80 du fichier HybridParallelMng.h.

Références m_global_nb_rank.

◆ communicator()

MP::Communicator Arcane::MessagePassing::HybridParallelMng::communicator ( ) const
overridevirtual

Communicateur MPI associé à ce gestionnaire.

Le communicateur n'est valide que si on utilise MPI. Il est possible de tester la validité en appelant la méthode Communicator::isValid(). S'il est valid, il est possible de récupérer sa valide via un cast:

IParallelMng* pm = ...;
MPI_Comm c = static_cast<MPI_Comm>(pm->communicator());
Interface du gestionnaire de parallélisme pour un sous-domaine.
virtual Parallel::Communicator communicator() const =0
Communicateur MPI associé à ce gestionnaire.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120

Implémente Arcane::IParallelMng.

Définition à la ligne 619 du fichier HybridParallelMng.cc.

Références Arcane::MpiParallelMng::communicator().

Référencé par build(), et createSubParallelMngRef().

◆ createExchanger()

IParallelExchanger * Arcane::MessagePassing::HybridParallelMng::createExchanger ( )
overrideprotectedvirtual

Retourne une interface pour transférer des messages entre processeurs.

L'instance retournée doit être détruite par l'opérateur delete.

Implémente Arcane::IParallelMng.

Définition à la ligne 313 du fichier HybridParallelMng.cc.

◆ createGetVariablesValuesOperation()

IGetVariablesValuesParallelOperation * Arcane::MessagePassing::HybridParallelMng::createGetVariablesValuesOperation ( )
overrideprotectedvirtual

Retourne une opération pour récupérer les valeurs d'une variable sur les entités d'un autre sous-domaine.

L'instance retournée doit être détruite par l'opérateur delete.

Implémente Arcane::IParallelMng.

Définition à la ligne 301 du fichier HybridParallelMng.cc.

◆ createReceiveSerializer()

ISerializeMessage * Arcane::MessagePassing::HybridParallelMng::createReceiveSerializer ( Int32  rank)
overridevirtual

Créé un message non bloquant pour recevoir des données sérialisées du rang rank.

Le message est traité uniquement lors de l'appel à processMessages().

Implémente Arcane::IParallelMng.

Définition à la ligne 400 du fichier HybridParallelMng.cc.

Références m_global_rank.

◆ createRequestListRef()

Ref< Parallel::IRequestList > Arcane::MessagePassing::HybridParallelMng::createRequestListRef ( )
overrideprotectedvirtual

Créé une liste de requêtes pour ce gestionnaire.

Implémente Arcane::IParallelMng.

Définition à la ligne 591 du fichier HybridParallelMng.cc.

◆ createSendSerializer()

ISerializeMessage * Arcane::MessagePassing::HybridParallelMng::createSendSerializer ( Int32  rank)
overridevirtual

Créé un message non bloquant pour envoyer des données sérialisées au rang rank.

Le message est traité uniquement lors de l'appel à processMessages().

Implémente Arcane::IParallelMng.

Définition à la ligne 347 du fichier HybridParallelMng.cc.

Références m_global_rank.

◆ createSubParallelMngRef()

Ref< IParallelMng > Arcane::MessagePassing::HybridParallelMng::createSubParallelMngRef ( Int32ConstArrayView  kept_ranks)
overrideprotectedvirtual

Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs.

Cette opération est collective.

Cett opération permet de créér un nouveau gestionnaire contenant uniquement les rangs kept_ranks de ce gestionnaire.

Si le rang appelant cette opération n'est pas dans kept_ranks, retourne 0.

L'instance retournée doit être détruire par l'opérateur delete.

Indique cela qui va faire les appels MPI

Implémente Arcane::IParallelMng.

Définition à la ligne 658 du fichier HybridParallelMng.cc.

Références Arcane::IParallelMngContainerFactory::_createParallelMngBuilder(), Arcane::ParallelMngDispatcher::allGather(), ARCANE_CHECK_POINTER, ARCANE_FATAL, Arcane::MpiParallelMng::commSize(), communicator(), Arcane::IParallelMng::computeMinMaxSum(), Arcane::ParallelMngDispatcher::createSubParallelMngRef(), Arccore::ITraceMng::info(), m_global_rank, m_local_nb_rank, m_local_rank, traceMng(), et Arccore::IThreadBarrier::wait().

◆ createSynchronizer() [1/2]

IVariableSynchronizer * Arcane::MessagePassing::HybridParallelMng::createSynchronizer ( const ItemGroup group)
overrideprotectedvirtual

Retourne une interface pour synchroniser des variables sur le groupe group.

L'instance retournée doit être détruite par l'opérateur delete.

Implémente Arcane::IParallelMng.

Définition à la ligne 503 du fichier HybridParallelMng.cc.

◆ createSynchronizer() [2/2]

IVariableSynchronizer * Arcane::MessagePassing::HybridParallelMng::createSynchronizer ( IItemFamily family)
overrideprotectedvirtual

Retourne une interface pour synchroniser des variables sur le groupe de la famille family.

L'instance retournée doit être détruite par l'opérateur delete.

Implémente Arcane::IParallelMng.

Définition à la ligne 494 du fichier HybridParallelMng.cc.

◆ createTopology()

IParallelTopology * Arcane::MessagePassing::HybridParallelMng::createTopology ( )
overrideprotectedvirtual

Créé une instance contenant les infos sur la topologie des rangs de ce gestionnnaire.

Cette opération est collective.

L'instance retournée doit être détruite par l'opérateur delete.

Implémente Arcane::IParallelMng.

Définition à la ligne 512 du fichier HybridParallelMng.cc.

◆ createTransferValuesOperation()

ITransferValuesParallelOperation * Arcane::MessagePassing::HybridParallelMng::createTransferValuesOperation ( )
overrideprotectedvirtual

Retourne une opération pour transférer des valeurs entre sous-domaine.

L'instance retournée doit être détruite par l'opérateur delete.

Implémente Arcane::IParallelMng.

Définition à la ligne 307 du fichier HybridParallelMng.cc.

◆ freeRequests()

void Arcane::MessagePassing::HybridParallelMng::freeRequests ( ArrayView< Request requests)
overridevirtual

Libère les requêtes.

Implémente Arcane::IParallelMng.

Définition à la ligne 409 du fichier HybridParallelMng.cc.

◆ getMPICommunicator()

void * Arcane::MessagePassing::HybridParallelMng::getMPICommunicator ( )
overridevirtual

Adresse du communicateur MPI associé à ce gestionnaire.

Le communicateur n'est valide que si on utilise MPI. Sinon, l'adresse retournée est 0. La valeur retournée est de type (MPI_Comm*).

Implémente Arcane::IParallelMng.

Définition à la ligne 610 du fichier HybridParallelMng.cc.

Références Arcane::MpiParallelMng::getMPICommunicator().

◆ getThreadBarrier()

IThreadBarrier * Arcane::MessagePassing::HybridParallelMng::getThreadBarrier ( )
inline

Définition à la ligne 150 du fichier HybridParallelMng.h.

◆ initialize()

void Arcane::MessagePassing::HybridParallelMng::initialize ( )
overridevirtual

Initialise le gestionnaire du parallélisme.

Implémente Arcane::IParallelMng.

Définition à la ligne 274 du fichier HybridParallelMng.cc.

Références m_is_initialized, et Arccore::ITraceMng::warning().

◆ ioMng()

IIOMng * Arcane::MessagePassing::HybridParallelMng::ioMng ( ) const
inlineoverridevirtual

Gestionnaire des entrées/sorties.

Implémente Arcane::IParallelMng.

Définition à la ligne 88 du fichier HybridParallelMng.h.

◆ isHybridImplementation()

bool Arcane::MessagePassing::HybridParallelMng::isHybridImplementation ( ) const
inlineoverridevirtual

Indique si l'implémentation utilise le mode hybride.

L'implémentation utilise le mode mixte MPI/thread.

Implémente Arcane::IParallelMng.

Définition à la ligne 84 du fichier HybridParallelMng.h.

◆ isMasterIO()

bool Arcane::MessagePassing::HybridParallelMng::isMasterIO ( ) const
inlineoverridevirtual

true si l'instance est un gestionnaire maître des entrées/sorties.

Implémente Arcane::IParallelMng.

Définition à la ligne 91 du fichier HybridParallelMng.h.

Références commRank().

◆ isParallel()

bool Arcane::MessagePassing::HybridParallelMng::isParallel ( ) const
inlineoverridevirtual

Retourne true si l'exécution est parallèle.

L'exécution est parallèle si l'instance implémente un mécanisme d'échange de message tel que MPI.

Implémente Arcane::IParallelMng.

Définition à la ligne 78 du fichier HybridParallelMng.h.

◆ isThreadImplementation()

bool Arcane::MessagePassing::HybridParallelMng::isThreadImplementation ( ) const
inlineoverridevirtual

Indique si l'implémentation utilise les threads.

L'implémentation utilise les threads soit en mode thread pure, soit en mode mixte MPI/thread.

Implémente Arcane::IParallelMng.

Définition à la ligne 83 du fichier HybridParallelMng.h.

◆ legacyProbe()

MessageSourceInfo Arcane::MessagePassing::HybridParallelMng::legacyProbe ( const PointToPointMessageInfo message)
overridevirtual

Sonde si des messages sont disponibles.

Voir également
Arccore::MessagePassing::mpLegacyProbe().

Implémente Arcane::IParallelMng.

Définition à la ligne 430 du fichier HybridParallelMng.cc.

Références m_global_rank.

◆ localNbRank()

Int32 Arcane::MessagePassing::HybridParallelMng::localNbRank ( ) const
inline

Définition à la ligne 124 du fichier HybridParallelMng.h.

◆ localRank()

Int32 Arcane::MessagePassing::HybridParallelMng::localRank ( ) const
inline

Définition à la ligne 123 du fichier HybridParallelMng.h.

◆ masterIORank()

Int32 Arcane::MessagePassing::HybridParallelMng::masterIORank ( ) const
inlineoverridevirtual

Rang de l'instance gérant les entrées/sorties (pour laquelle isMasterIO() est vrai)

Dans l'implémentation actuelle, il s'agit toujours du processeur de rang 0.

Implémente Arcane::IParallelMng.

Définition à la ligne 92 du fichier HybridParallelMng.h.

◆ mpiParallelMng()

MpiParallelMng * Arcane::MessagePassing::HybridParallelMng::mpiParallelMng ( )
inline

Définition à la ligne 125 du fichier HybridParallelMng.h.

◆ nonBlockingCollective()

IParallelNonBlockingCollective * Arcane::MessagePassing::HybridParallelMng::nonBlockingCollective ( ) const
inlineoverridevirtual

Interface des opérations collectives non blocantes.

Implémente Arcane::IParallelMng.

Définition à la ligne 117 du fichier HybridParallelMng.h.

◆ printStats()

void Arcane::MessagePassing::HybridParallelMng::printStats ( )
overridevirtual

Affiche des statistiques liées à ce gestionnaire du parallélisme.

Implémente Arcane::IParallelMng.

Définition à la ligne 461 du fichier HybridParallelMng.cc.

Références Arcane::Parallel::IStat::print().

◆ probe()

MessageId Arcane::MessagePassing::HybridParallelMng::probe ( const PointToPointMessageInfo message)
overridevirtual

Sonde si des messages sont disponibles.

Voir également
Arccore::MessagePassing::mpProbe().

Implémente Arcane::IParallelMng.

Définition à la ligne 419 du fichier HybridParallelMng.cc.

Références m_global_rank.

◆ receiveSerializer()

Request Arcane::MessagePassing::HybridParallelMng::receiveSerializer ( ISerializer values,
const PointToPointMessageInfo message 
)
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 451 du fichier HybridParallelMng.cc.

◆ recvSerializer()

void Arcane::MessagePassing::HybridParallelMng::recvSerializer ( ISerializer values,
Int32  rank 
)
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 389 du fichier HybridParallelMng.cc.

◆ replication()

IParallelReplication * Arcane::MessagePassing::HybridParallelMng::replication ( ) const
overrideprotectedvirtual

Informations sur la réplication.

Le pointeur retourné n'est jamais nul et reste la propriété de cette instance.

Implémente Arcane::IParallelMng.

Définition à la ligne 521 du fichier HybridParallelMng.cc.

◆ sendSerializer() [1/3]

Request Arcane::MessagePassing::HybridParallelMng::sendSerializer ( const ISerializer values,
const PointToPointMessageInfo message 
)
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 441 du fichier HybridParallelMng.cc.

◆ sendSerializer() [2/3]

void Arcane::MessagePassing::HybridParallelMng::sendSerializer ( ISerializer values,
Int32  rank 
)
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 325 du fichier HybridParallelMng.cc.

◆ sendSerializer() [3/3]

auto Arcane::MessagePassing::HybridParallelMng::sendSerializer ( ISerializer values,
Int32  rank,
ByteArray bytes 
)
overridevirtual

la requête donnée en retour doit être utilisée dans waitAllRequests() ou libérée par appel à freeRequests().

Implémente Arcane::IParallelMng.

Définition à la ligne 336 du fichier HybridParallelMng.cc.

◆ sequentialParallelMng()

IParallelMng * Arcane::MessagePassing::HybridParallelMng::sequentialParallelMng ( )
overridevirtual

Retourne un gestionnaire de parallélisme séquentiel.

Cette instance reste propriétaire de l'instance retournée qui ne doit pas être détruite. La durée de vie de l'instance retournée est la même que cette instance.

Implémente Arcane::IParallelMng.

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

◆ sequentialParallelMngRef()

Ref< IParallelMng > Arcane::MessagePassing::HybridParallelMng::sequentialParallelMngRef ( )
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 549 du fichier HybridParallelMng.cc.

◆ setReplication()

void Arcane::MessagePassing::HybridParallelMng::setReplication ( IParallelReplication v)
overrideprotectedvirtual

Positionne les Informations sur la réplication.

Cette méthode est interne à Arcane et ne doit être appelée que lors de l'initialisation.

Implémente Arcane::IParallelMng.

Définition à la ligne 530 du fichier HybridParallelMng.cc.

◆ stat()

Parallel::IStat * Arcane::MessagePassing::HybridParallelMng::stat ( )
inlineoverrideprotectedvirtual

Gestionnaire des statistiques.

Implémente Arcane::IParallelMng.

Définition à la ligne 138 du fichier HybridParallelMng.h.

◆ threadMng()

IThreadMng * Arcane::MessagePassing::HybridParallelMng::threadMng ( ) const
inlineoverridevirtual

Gestionnaire de threads.

Implémente Arcane::IParallelMng.

Définition à la ligne 86 du fichier HybridParallelMng.h.

Référencé par build().

◆ timerMng()

ITimerMng * Arcane::MessagePassing::HybridParallelMng::timerMng ( ) const
inlineoverridevirtual

Gestionnaire de timers.

Implémente Arcane::IParallelMng.

Définition à la ligne 94 du fichier HybridParallelMng.h.

Référencé par build().

◆ traceMng()

ITraceMng * Arcane::MessagePassing::HybridParallelMng::traceMng ( ) const
inlineoverridevirtual

Gestionnaire de traces.

Implémente Arcane::IParallelMng.

Définition à la ligne 85 du fichier HybridParallelMng.h.

Référencé par build(), et createSubParallelMngRef().

◆ waitAllRequests()

void Arcane::MessagePassing::HybridParallelMng::waitAllRequests ( ArrayView< Request rvalues)
overridevirtual

Bloque en attendant que les requêtes rvalues soient terminées.

Implémente Arcane::IParallelMng.

Définition à la ligne 601 du fichier HybridParallelMng.cc.

◆ worldParallelMng()

IParallelMng * Arcane::MessagePassing::HybridParallelMng::worldParallelMng ( ) const
inlineoverridevirtual

Gestionnaire de parallélisme sur l'ensemble des ressources allouées.

Implémente Arcane::IParallelMng.

Définition à la ligne 87 du fichier HybridParallelMng.h.

Référencé par build().

Documentation des données membres

◆ HybridSerializeMessageList

friend Arcane::MessagePassing::HybridParallelMng::HybridSerializeMessageList
private

Définition à la ligne 70 du fichier HybridParallelMng.h.

◆ m_all_dispatchers

MpiThreadAllDispatcher* Arcane::MessagePassing::HybridParallelMng::m_all_dispatchers = nullptr
private

Définition à la ligne 174 du fichier HybridParallelMng.h.

◆ m_global_nb_rank

Int32 Arcane::MessagePassing::HybridParallelMng::m_global_nb_rank
private

Nombre de rangs globaux.

Définition à la ligne 167 du fichier HybridParallelMng.h.

Référencé par commSize().

◆ m_global_rank

Int32 Arcane::MessagePassing::HybridParallelMng::m_global_rank
private

Numéro du processeur actuel.

Définition à la ligne 166 du fichier HybridParallelMng.h.

Référencé par build(), commRank(), createReceiveSerializer(), createSendSerializer(), createSubParallelMngRef(), legacyProbe(), et probe().

◆ m_io_mng

IIOMng* Arcane::MessagePassing::HybridParallelMng::m_io_mng
private

Définition à la ligne 160 du fichier HybridParallelMng.h.

◆ m_is_initialized

bool Arcane::MessagePassing::HybridParallelMng::m_is_initialized
private

true si déjà initialisé

Définition à la ligne 170 du fichier HybridParallelMng.h.

Référencé par initialize().

◆ m_is_parallel

bool Arcane::MessagePassing::HybridParallelMng::m_is_parallel
private

Définition à la ligne 165 du fichier HybridParallelMng.h.

◆ m_local_nb_rank

Int32 Arcane::MessagePassing::HybridParallelMng::m_local_nb_rank
private

Nombre de rang locaux.

Définition à la ligne 169 du fichier HybridParallelMng.h.

Référencé par createSubParallelMngRef().

◆ m_local_rank

Int32 Arcane::MessagePassing::HybridParallelMng::m_local_rank
private

Rang local du processeur actuel.

Définition à la ligne 168 du fichier HybridParallelMng.h.

Référencé par barrier(), build(), et createSubParallelMngRef().

◆ m_message_queue

HybridMessageQueue* Arcane::MessagePassing::HybridParallelMng::m_message_queue
private

Définition à la ligne 164 du fichier HybridParallelMng.h.

◆ m_mpi_parallel_mng

MpiParallelMng* Arcane::MessagePassing::HybridParallelMng::m_mpi_parallel_mng = nullptr
private

Définition à la ligne 173 du fichier HybridParallelMng.h.

◆ m_parallel_mng_list

Array<HybridParallelMng*>* Arcane::MessagePassing::HybridParallelMng::m_parallel_mng_list = nullptr
private

Définition à la ligne 175 du fichier HybridParallelMng.h.

◆ m_parent_container_ref

Ref<IParallelMngContainer> Arcane::MessagePassing::HybridParallelMng::m_parent_container_ref
private

Définition à la ligne 177 du fichier HybridParallelMng.h.

◆ m_replication

IParallelReplication* Arcane::MessagePassing::HybridParallelMng::m_replication
private

Définition à la ligne 163 du fichier HybridParallelMng.h.

◆ m_sequential_parallel_mng

Ref<IParallelMng> Arcane::MessagePassing::HybridParallelMng::m_sequential_parallel_mng
private

Définition à la ligne 161 du fichier HybridParallelMng.h.

◆ m_stat

Parallel::IStat* Arcane::MessagePassing::HybridParallelMng::m_stat = nullptr
private

Définition à la ligne 171 du fichier HybridParallelMng.h.

◆ m_sub_builder_factory

IParallelMngContainerFactory* Arcane::MessagePassing::HybridParallelMng::m_sub_builder_factory = nullptr
private

Définition à la ligne 176 du fichier HybridParallelMng.h.

◆ m_thread_barrier

IThreadBarrier* Arcane::MessagePassing::HybridParallelMng::m_thread_barrier = nullptr
private

Définition à la ligne 172 du fichier HybridParallelMng.h.

◆ m_thread_mng

IThreadMng* Arcane::MessagePassing::HybridParallelMng::m_thread_mng
private

Définition à la ligne 158 du fichier HybridParallelMng.h.

◆ m_timer_mng

ITimerMng* Arcane::MessagePassing::HybridParallelMng::m_timer_mng
private

Définition à la ligne 162 du fichier HybridParallelMng.h.

◆ m_trace

ITraceMng* Arcane::MessagePassing::HybridParallelMng::m_trace
private

Définition à la ligne 157 du fichier HybridParallelMng.h.

◆ m_utils_factory

Ref<IParallelMngUtilsFactory> Arcane::MessagePassing::HybridParallelMng::m_utils_factory
private

Définition à la ligne 178 du fichier HybridParallelMng.h.

◆ m_world_parallel_mng

IParallelMng* Arcane::MessagePassing::HybridParallelMng::m_world_parallel_mng
private

Définition à la ligne 159 du fichier HybridParallelMng.h.


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