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

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

#include <arcane/parallel/thread/SharedMemoryParallelMng.h>

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

Classes

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

Fonctions membres publiques

 SharedMemoryParallelMng (const SharedMemoryParallelMngBuildInfo &build_info)
 
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.
 
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.
 
Integer masterIORank () const override
 Rang de l'instance gérant les entrées/sorties (pour laquelle isMasterIO() est vrai)
 
IIOMngioMng () const override
 Gestionnaire des entrées/sorties.
 
IParallelMngworldParallelMng () const override
 Gestionnaire de parallélisme sur l'ensemble des ressources allouées.
 
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< Parallel::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.
 
ARCANE_DEPRECATED_260 Real reduceRank (eReduceType rt, Real v, Int32 *rank)
 
IParallelNonBlockingCollectivenonBlockingCollective () const override
 Interface des opérations collectives non blocantes.
 
void build () override
 Construit l'instance.
 
IThreadBarriergetThreadBarrier ()
 
PointToPointMessageInfo buildMessage (Int32 dest, MP::eBlockingType is_blocking)
 Construit un message avec pour destinataire dest.
 
PointToPointMessageInfo buildMessage (const PointToPointMessageInfo &orig_message)
 
- 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.
 
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.
 
IParallelTopologycreateTopology () override
 Créé une instance contenant les infos sur la topologie des rangs de ce gestionnnaire.
 
IParallelExchangercreateExchanger () override
 Retourne une interface pour transférer des messages entre processeurs.
 
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.
 
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.
 
ISerializeMessageList_createSerializeMessageList () override
 
IParallelMng_createSubParallelMng (Int32ConstArrayView kept_ranks) override
 
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)
 

Attributs privés

ReferenceCounter< ITraceMngm_trace
 
IThreadMngm_thread_mng
 
Ref< IParallelMngm_sequential_parallel_mng
 
ITimerMngm_timer_mng
 
IParallelReplicationm_replication
 
IParallelMngm_world_parallel_mng
 
IIOMngm_io_mng
 
ISharedMemoryMessageQueuem_message_queue
 
bool m_is_parallel
 
Int32 m_rank
 Rang de l'instance.
 
Int32 m_nb_rank
 Nombre de rangs.
 
bool m_is_initialized
 true si déjà initialisé
 
Parallel::IStatm_stat
 
IThreadBarrierm_thread_barrier
 
SharedMemoryAllDispatcherm_all_dispatchers
 
IParallelMngContainerFactorym_sub_builder_factory
 
Ref< IParallelMngContainerm_parent_container_ref
 
MP::Communicator m_mpi_communicator
 
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 69 du fichier SharedMemoryParallelMng.h.

Documentation des constructeurs et destructeur

◆ SharedMemoryParallelMng()

Arcane::MessagePassing::SharedMemoryParallelMng::SharedMemoryParallelMng ( const SharedMemoryParallelMngBuildInfo build_info)
explicit

Définition à la ligne 95 du fichier SharedMemoryParallelMng.cc.

◆ ~SharedMemoryParallelMng()

Arcane::MessagePassing::SharedMemoryParallelMng::~SharedMemoryParallelMng ( )
override

Définition à la ligne 125 du fichier SharedMemoryParallelMng.cc.

Documentation des fonctions membres

◆ _createSerializeMessageList()

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

Implémente Arcane::ParallelMngDispatcher.

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

◆ _createSubParallelMng()

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

Implémente Arcane::ParallelMngDispatcher.

Définition à la ligne 433 du fichier SharedMemoryParallelMng.cc.

◆ _internalUtilsFactory()

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

Fabrique des fonctions utilitaires.

Implémente Arcane::IParallelMng.

Définition à la ligne 545 du fichier SharedMemoryParallelMng.cc.

◆ _isAcceleratorAware()

bool Arcane::MessagePassing::SharedMemoryParallelMng::_isAcceleratorAware ( ) const
inlineoverrideprotectedvirtual

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

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

◆ barrier()

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

Effectue une barière.

Implémente Arcane::IParallelMng.

Définition à la ligne 315 du fichier SharedMemoryParallelMng.cc.

Références Arccore::IThreadBarrier::wait().

Référencé par createSubParallelMngRef().

◆ broadcastSerializer()

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

Implémente Arcane::IParallelMng.

Définition à la ligne 253 du fichier SharedMemoryParallelMng.cc.

◆ build()

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

Construit l'instance.

Implémente Arcane::IParallelMng.

Définition à la ligne 169 du fichier SharedMemoryParallelMng.cc.

Références m_rank, et traceMng().

◆ buildMessage() [1/2]

PointToPointMessageInfo Arcane::MessagePassing::SharedMemoryParallelMng::buildMessage ( const PointToPointMessageInfo orig_message)

Définition à la ligne 525 du fichier SharedMemoryParallelMng.cc.

◆ buildMessage() [2/2]

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

Construit un message avec pour destinataire dest.

Définition à la ligne 536 du fichier SharedMemoryParallelMng.cc.

Références buildMessage().

Référencé par buildMessage(), et sendSerializer().

◆ commRank()

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

Rang de cette instance dans le communicateur.

Implémente Arcane::IParallelMng.

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

◆ commSize()

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

Nombre d'instance dans le communicateur.

Implémente Arcane::IParallelMng.

Définition à la ligne 81 du fichier SharedMemoryParallelMng.h.

◆ communicator()

MP::Communicator Arcane::MessagePassing::SharedMemoryParallelMng::communicator ( ) const
inlineoverridevirtual

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 83 du fichier SharedMemoryParallelMng.h.

◆ createExchanger()

IParallelExchanger * Arcane::MessagePassing::SharedMemoryParallelMng::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 211 du fichier SharedMemoryParallelMng.cc.

◆ createGetVariablesValuesOperation()

IGetVariablesValuesParallelOperation * Arcane::MessagePassing::SharedMemoryParallelMng::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 199 du fichier SharedMemoryParallelMng.cc.

◆ createReceiveSerializer()

ISerializeMessage * Arcane::MessagePassing::SharedMemoryParallelMng::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 286 du fichier SharedMemoryParallelMng.cc.

Références m_rank.

◆ createRequestListRef()

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

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

Implémente Arcane::IParallelMng.

Définition à la ligne 500 du fichier SharedMemoryParallelMng.cc.

◆ createSendSerializer()

ISerializeMessage * Arcane::MessagePassing::SharedMemoryParallelMng::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 244 du fichier SharedMemoryParallelMng.cc.

Références m_rank.

◆ createSubParallelMngRef()

Ref< IParallelMng > Arcane::MessagePassing::SharedMemoryParallelMng::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.

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

Définition à la ligne 446 du fichier SharedMemoryParallelMng.cc.

Références Arcane::IParallelMngContainerFactory::_createParallelMngBuilder(), ARCANE_CHECK_POINTER, ARCANE_FATAL, barrier(), m_rank, et traceMng().

◆ createSynchronizer() [1/2]

IVariableSynchronizer * Arcane::MessagePassing::SharedMemoryParallelMng::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 396 du fichier SharedMemoryParallelMng.cc.

◆ createSynchronizer() [2/2]

IVariableSynchronizer * Arcane::MessagePassing::SharedMemoryParallelMng::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 387 du fichier SharedMemoryParallelMng.cc.

◆ createTopology()

IParallelTopology * Arcane::MessagePassing::SharedMemoryParallelMng::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 405 du fichier SharedMemoryParallelMng.cc.

◆ createTransferValuesOperation()

ITransferValuesParallelOperation * Arcane::MessagePassing::SharedMemoryParallelMng::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 205 du fichier SharedMemoryParallelMng.cc.

◆ freeRequests()

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

Libère les requêtes.

Implémente Arcane::IParallelMng.

Définition à la ligne 295 du fichier SharedMemoryParallelMng.cc.

◆ getMPICommunicator()

void * Arcane::MessagePassing::SharedMemoryParallelMng::getMPICommunicator ( )
inlineoverridevirtual

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 82 du fichier SharedMemoryParallelMng.h.

◆ getThreadBarrier()

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

Définition à la ligne 130 du fichier SharedMemoryParallelMng.h.

◆ initialize()

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

Initialise le gestionnaire du parallélisme.

Implémente Arcane::IParallelMng.

Définition à la ligne 184 du fichier SharedMemoryParallelMng.cc.

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

◆ ioMng()

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

Gestionnaire des entrées/sorties.

Implémente Arcane::IParallelMng.

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

◆ isHybridImplementation()

bool Arcane::MessagePassing::SharedMemoryParallelMng::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 85 du fichier SharedMemoryParallelMng.h.

◆ isMasterIO()

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

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

Implémente Arcane::IParallelMng.

Définition à la ligne 89 du fichier SharedMemoryParallelMng.h.

◆ isParallel()

bool Arcane::MessagePassing::SharedMemoryParallelMng::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 79 du fichier SharedMemoryParallelMng.h.

◆ isThreadImplementation()

bool Arcane::MessagePassing::SharedMemoryParallelMng::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 84 du fichier SharedMemoryParallelMng.h.

◆ legacyProbe()

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

Sonde si des messages sont disponibles.

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

Implémente Arcane::IParallelMng.

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

Références m_rank.

◆ masterIORank()

Integer Arcane::MessagePassing::SharedMemoryParallelMng::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 90 du fichier SharedMemoryParallelMng.h.

◆ nonBlockingCollective()

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

Interface des opérations collectives non blocantes.

Implémente Arcane::IParallelMng.

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

◆ printStats()

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

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

Implémente Arcane::IParallelMng.

Définition à la ligne 305 du fichier SharedMemoryParallelMng.cc.

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

◆ probe()

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

Sonde si des messages sont disponibles.

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

Implémente Arcane::IParallelMng.

Définition à la ligne 345 du fichier SharedMemoryParallelMng.cc.

Références m_rank.

◆ receiveSerializer()

auto Arcane::MessagePassing::SharedMemoryParallelMng::receiveSerializer ( ISerializer values,
const PointToPointMessageInfo message 
)
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 377 du fichier SharedMemoryParallelMng.cc.

◆ recvSerializer()

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

Implémente Arcane::IParallelMng.

Définition à la ligne 275 du fichier SharedMemoryParallelMng.cc.

◆ reduceRank()

ARCANE_DEPRECATED_260 Real Arcane::MessagePassing::SharedMemoryParallelMng::reduceRank ( eReduceType  rt,
Real  v,
Int32 *  rank 
)
inline

Définition à la ligne 116 du fichier SharedMemoryParallelMng.h.

◆ replication()

IParallelReplication * Arcane::MessagePassing::SharedMemoryParallelMng::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 414 du fichier SharedMemoryParallelMng.cc.

◆ sendSerializer() [1/3]

auto Arcane::MessagePassing::SharedMemoryParallelMng::sendSerializer ( const ISerializer values,
const PointToPointMessageInfo message 
)
overridevirtual

Implémente Arcane::IParallelMng.

Définition à la ligne 367 du fichier SharedMemoryParallelMng.cc.

◆ sendSerializer() [2/3]

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

Implémente Arcane::IParallelMng.

Définition à la ligne 223 du fichier SharedMemoryParallelMng.cc.

◆ sendSerializer() [3/3]

Parallel::Request Arcane::MessagePassing::SharedMemoryParallelMng::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 234 du fichier SharedMemoryParallelMng.cc.

Références buildMessage().

◆ sequentialParallelMng()

IParallelMng * Arcane::MessagePassing::SharedMemoryParallelMng::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 516 du fichier SharedMemoryParallelMng.cc.

◆ sequentialParallelMngRef()

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

Implémente Arcane::IParallelMng.

Définition à la ligne 510 du fichier SharedMemoryParallelMng.cc.

◆ setReplication()

void Arcane::MessagePassing::SharedMemoryParallelMng::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 423 du fichier SharedMemoryParallelMng.cc.

◆ stat()

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

Gestionnaire des statistiques.

Implémente Arcane::IParallelMng.

Définition à la ligne 149 du fichier SharedMemoryParallelMng.h.

◆ threadMng()

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

Gestionnaire de threads.

Implémente Arcane::IParallelMng.

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

◆ timerMng()

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

Gestionnaire de timers.

Implémente Arcane::IParallelMng.

Définition à la ligne 93 du fichier SharedMemoryParallelMng.h.

◆ traceMng()

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

Gestionnaire de traces.

Implémente Arcane::IParallelMng.

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

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

◆ waitAllRequests()

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

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

Implémente Arcane::IParallelMng.

Définition à la ligne 324 du fichier SharedMemoryParallelMng.cc.

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

◆ worldParallelMng()

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

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

Implémente Arcane::IParallelMng.

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

Documentation des données membres

◆ m_all_dispatchers

SharedMemoryAllDispatcher* Arcane::MessagePassing::SharedMemoryParallelMng::m_all_dispatchers
private

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

◆ m_io_mng

IIOMng* Arcane::MessagePassing::SharedMemoryParallelMng::m_io_mng
private

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

◆ m_is_initialized

bool Arcane::MessagePassing::SharedMemoryParallelMng::m_is_initialized
private

true si déjà initialisé

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

Référencé par initialize().

◆ m_is_parallel

bool Arcane::MessagePassing::SharedMemoryParallelMng::m_is_parallel
private

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

◆ m_message_queue

ISharedMemoryMessageQueue* Arcane::MessagePassing::SharedMemoryParallelMng::m_message_queue
private

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

◆ m_mpi_communicator

MP::Communicator Arcane::MessagePassing::SharedMemoryParallelMng::m_mpi_communicator
private

Définition à la ligne 181 du fichier SharedMemoryParallelMng.h.

◆ m_nb_rank

Int32 Arcane::MessagePassing::SharedMemoryParallelMng::m_nb_rank
private

Nombre de rangs.

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

◆ m_parent_container_ref

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

Définition à la ligne 180 du fichier SharedMemoryParallelMng.h.

◆ m_rank

Int32 Arcane::MessagePassing::SharedMemoryParallelMng::m_rank
private

Rang de l'instance.

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

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

◆ m_replication

IParallelReplication* Arcane::MessagePassing::SharedMemoryParallelMng::m_replication
private

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

◆ m_sequential_parallel_mng

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

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

◆ m_stat

Parallel::IStat* Arcane::MessagePassing::SharedMemoryParallelMng::m_stat
private

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

◆ m_sub_builder_factory

IParallelMngContainerFactory* Arcane::MessagePassing::SharedMemoryParallelMng::m_sub_builder_factory
private

Définition à la ligne 179 du fichier SharedMemoryParallelMng.h.

◆ m_thread_barrier

IThreadBarrier* Arcane::MessagePassing::SharedMemoryParallelMng::m_thread_barrier
private

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

◆ m_thread_mng

IThreadMng* Arcane::MessagePassing::SharedMemoryParallelMng::m_thread_mng
private

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

◆ m_timer_mng

ITimerMng* Arcane::MessagePassing::SharedMemoryParallelMng::m_timer_mng
private

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

◆ m_trace

ReferenceCounter<ITraceMng> Arcane::MessagePassing::SharedMemoryParallelMng::m_trace
private

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

◆ m_utils_factory

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

Définition à la ligne 182 du fichier SharedMemoryParallelMng.h.

◆ m_world_parallel_mng

IParallelMng* Arcane::MessagePassing::SharedMemoryParallelMng::m_world_parallel_mng
private

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


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