Interface du gestionnaire de parallélisme pour un sous-domaine. Plus de détails...
#include <arcane/core/IParallelMng.h>
Fonctions membres publiques | |
virtual | ~IParallelMng ()=default |
Libère les ressources. | |
virtual void | build ()=0 |
Construit l'instance. | |
virtual bool | isParallel () const =0 |
Retourne true si l'exécution est parallèle. | |
virtual Int32 | commRank () const =0 |
Rang de cette instance dans le communicateur. | |
virtual Int32 | commSize () const =0 |
Nombre d'instance dans le communicateur. | |
virtual void * | getMPICommunicator ()=0 |
Adresse du communicateur MPI associé à ce gestionnaire. | |
virtual ARCANE_DEPRECATED_120 void * | mpiCommunicator () |
Adresse du communicateur MPI associé à ce gestionnaire. | |
virtual Parallel::Communicator | communicator () const =0 |
Communicateur MPI associé à ce gestionnaire. | |
virtual bool | isThreadImplementation () const =0 |
Indique si l'implémentation utilise les threads. | |
virtual bool | isHybridImplementation () const =0 |
Indique si l'implémentation utilise le mode hybride. | |
virtual void | setTimeStats (ITimeStats *time_stats)=0 |
Positionne le gestionnaire de statistiques. | |
virtual ITimeStats * | timeStats () const =0 |
Gestionnaire de statistiques associé (peut être nul) | |
virtual ITraceMng * | traceMng () const =0 |
Gestionnaire de traces. | |
virtual IThreadMng * | threadMng () const =0 |
Gestionnaire de threads. | |
virtual ITimerMng * | timerMng () const =0 |
Gestionnaire de timers. | |
virtual IIOMng * | ioMng () const =0 |
Gestionnaire des entrées/sorties. | |
virtual IParallelMng * | worldParallelMng () const =0 |
Gestionnaire de parallélisme sur l'ensemble des ressources allouées. | |
virtual void | initialize ()=0 |
Initialise le gestionnaire du parallélisme. | |
virtual ITimeMetricCollector * | timeMetricCollector () const =0 |
Collecteur Arccore des statistiques temporelles (peut être nul) | |
virtual bool | isMasterIO () const =0 |
true si l'instance est un gestionnaire maître des entrées/sorties. | |
virtual Integer | masterIORank () const =0 |
Rang de l'instance gérant les entrées/sorties (pour laquelle isMasterIO() est vrai) | |
allGather | |
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 | allGather (ISerializer *send_serializer, ISerializer *recv_serializer)=0 |
gather | |
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 |
allGather variable | |
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 |
opérations de réduction sur un scalaire | |
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 |
opérations de réduction sur un vecteur | |
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 |
opérations de réduction sur un tableau | |
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 |
opérations de broadcast | |
Envoie un tableau de valeurs sur tous les sous-domaines. Cette opération envoie le tableau de valeur send_buf sur tous les sous-domaines. Le tableau utilisé est celui dont le rang (commRank) est rank. Tous les sous-domaines participants doivent appelés cette méthode avec le même paramètre rank et avoir un tableau send_buf contenant le même nombre d'éléments. | |
virtual 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 | broadcastString (String &str, Int32 rank)=0 |
virtual void | broadcastSerializer (ISerializer *values, Int32 rank)=0 |
virtual void | broadcastMemoryBuffer (ByteArray &bytes, Int32 rank)=0 |
Effectue un broadcast d'une zone mémoire. | |
opérations d'envoie de messages | |
Envoie bloquant d'un tableau de valeurs à un sous-domaine. Envoie les valeurs du tableau values au sous-domaine rank. Le sous-domaine doit effectuer une réception correspondante (le numéro de sous-domaine doit être celui de ce gestionnaire et le type et la taille du tableau doit correspondre) avec la fonction recvValues(). L'envoie est bloquant. | |
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 | sendSerializer (ISerializer *values, Int32 rank)=0 |
virtual Parallel::Request | sendSerializer (ISerializer *values, Int32 rank, ByteArray &bytes)=0 |
virtual ISerializeMessage * | createSendSerializer (Int32 rank)=0 |
Créé un message non bloquant pour envoyer des données sérialisées au rang rank. | |
opérations de réception de messages. | |
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 void | recvSerializer (ISerializer *values, Int32 rank)=0 |
virtual ISerializeMessage * | createReceiveSerializer (Int32 rank)=0 |
Créé un message non bloquant pour recevoir des données sérialisées du rang rank. | |
virtual void | processMessages (ConstArrayView< ISerializeMessage * > messages)=0 |
Exécute les opérations des messages messages. | |
virtual void | freeRequests (ArrayView< Parallel::Request > requests)=0 |
Libère les requêtes. | |
opérations d'envoie de messages non bloquants | |
Envoie un tableau de valeurs à un rang rank. Envoie les valeurs du tableau values à l'instance de rang rank. Le destinataire doit effectuer une réception correspondante (dont le rang doit être celui de ce gestionnaire et le type et la taille du tableau doit correspondre) avec la fonction recvValues(). L'envoie est bloquant si is_blocking vaut true, non bloquant s'il vaut false. Dans ce dernier cas, la requête retournée doit être utilisée dans waitAllRequests() ou libérée par freeRequests(). | |
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 |
opérations de réception de messages non bloquantes. | |
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 |
opérations de réception génériques de messages | |
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 | receiveSerializer (ISerializer *values, const PointToPointMessageInfo &message)=0 |
opérations d'envoie génériques de messages | |
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 Request | sendSerializer (const ISerializer *values, const PointToPointMessageInfo &message)=0 |
virtual MessageId | probe (const PointToPointMessageInfo &message)=0 |
Sonde si des messages sont disponibles. | |
virtual MessageSourceInfo | legacyProbe (const PointToPointMessageInfo &message)=0 |
Sonde si des messages sont disponibles. | |
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 |
allToAll variable | |
Effectue un allToAll variable | |
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 |
scan | |
Effectue un algorithme de scan équivalent en sémantique à MPI_Scan | |
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 |
virtual ISerializeMessageList * | createSerializeMessageList ()=0 |
Créé une liste pour gérer les 'ISerializeMessage'. | |
virtual Ref< ISerializeMessageList > | createSerializeMessageListRef ()=0 |
Créé une liste pour gérer les 'ISerializeMessage'. | |
opérations de synchronisation et opérations asynchrones | |
virtual void | barrier ()=0 |
Effectue une barière. | |
virtual void | waitAllRequests (ArrayView< Request > rvalues)=0 |
Bloque en attendant que les requêtes rvalues soient terminées. | |
virtual UniqueArray< Integer > | waitSomeRequests (ArrayView< Request > rvalues)=0 |
Bloque en attendant qu'une des requêtes rvalues soit terminée. | |
virtual UniqueArray< Integer > | testSomeRequests (ArrayView< Request > rvalues)=0 |
Test si une des requêtes rvalues est terminée. | |
Fonctions membres privées | |
ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS () | |
virtual ARCANE_DEPRECATED Integer | subDomainId () const final |
Numéro du sous-domaine associé à ce gestionnaire. | |
virtual ARCANE_DEPRECATED Integer | nbSubDomain () const final |
Nombre total de sous-domaines. | |
Amis | |
class | ParallelMngUtilsAccessor |
opérations diverses | |
virtual Ref< IParallelMngUtilsFactory > | _internalUtilsFactory () const =0 |
Fabrique des fonctions utilitaires. | |
virtual IParallelMng * | sequentialParallelMng ()=0 |
Retourne un gestionnaire de parallélisme séquentiel. | |
virtual Ref< IParallelMng > | sequentialParallelMngRef ()=0 |
virtual IGetVariablesValuesParallelOperation * | createGetVariablesValuesOperation ()=0 |
Retourne une opération pour récupérer les valeurs d'une variable sur les entités d'un autre sous-domaine. | |
virtual ITransferValuesParallelOperation * | createTransferValuesOperation ()=0 |
Retourne une opération pour transférer des valeurs entre sous-domaine. | |
virtual IParallelExchanger * | createExchanger ()=0 |
Retourne une interface pour transférer des messages entre processeurs. | |
virtual IVariableSynchronizer * | createSynchronizer (IItemFamily *family)=0 |
Retourne une interface pour synchroniser des variables sur le groupe de la famille family. | |
virtual IVariableSynchronizer * | createSynchronizer (const ItemGroup &group)=0 |
Retourne une interface pour synchroniser des variables sur le groupe group. | |
virtual IParallelTopology * | createTopology ()=0 |
Créé une instance contenant les infos sur la topologie des rangs de ce gestionnnaire. | |
virtual IParallelReplication * | replication () const =0 |
Informations sur la réplication. | |
virtual void | setReplication (IParallelReplication *v)=0 |
Positionne les Informations sur la réplication. | |
virtual IParallelMng * | createSubParallelMng (Int32ConstArrayView kept_ranks)=0 |
Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs. | |
virtual Ref< IParallelMng > | createSubParallelMngRef (Int32ConstArrayView kept_ranks)=0 |
Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs. | |
virtual Ref< Parallel::IRequestList > | createRequestListRef ()=0 |
Créé une liste de requêtes pour ce gestionnaire. | |
virtual IStat * | stat ()=0 |
Gestionnaire des statistiques. | |
virtual void | printStats ()=0 |
Affiche des statistiques liées à ce gestionnaire du parallélisme. | |
virtual IParallelNonBlockingCollective * | nonBlockingCollective () const =0 |
Interface des opérations collectives non blocantes. | |
virtual IMessagePassingMng * | messagePassingMng () const =0 |
Gestionnaire de message de Arccore associé | |
virtual IParallelMngInternal * | _internalApi ()=0 |
API interne à Arcane. | |
Interface du gestionnaire de parallélisme pour un sous-domaine.
Ce gestionnaire propose une interface pour accéder à l'ensemble des fonctionnalités liées au parallélisme.
Il existe plusieurs implémentations possibles:
Lorsqu'une opération est collective, tous les gestionnaires associés doivent participer.
Il est possible de créer à partir d'une instance un autre gestionnaire contenant un sous-ensemble de rang via createSubParallelMng().
Définition à la ligne 51 du fichier IParallelMng.h.
Définition à la ligne 70 du fichier IParallelMng.h.
Définition à la ligne 71 du fichier IParallelMng.h.
Définition à la ligne 68 du fichier IParallelMng.h.
Définition à la ligne 69 du fichier IParallelMng.h.
Définition à la ligne 67 du fichier IParallelMng.h.
Définition à la ligne 66 du fichier IParallelMng.h.
|
pure virtual |
API interne à Arcane.
Implémenté dans Arcane::ParallelMngDispatcher.
|
privatepure virtual |
Fabrique des fonctions utilitaires.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
Implémenté dans Arcane::ParallelMngDispatcher, et Arcane::SequentialParallelMng.
|
pure virtual |
Effectue un regroupement sur tous les processeurs.
Il s'agit d'une opération collective. Le nombre d'éléments du tableau send_buf peut être différent pour chaque processeur. Le tableau recv_buf contient en sortie la concaténation des tableaux send_buf de chaque processeur. Ce tableau recv_buf est éventuellement redimensionné.
Référencé par Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV1(), Arcane::Hdf5VariableReaderHelper2::_createCorrespondance(), Arcane::mesh::ItemFamily::checkUniqueIds(), Arcane::MeshUtils::checkUniqueIdsHashCollective(), Arcane::CartesianMeshAMRPatchMng::coarse(), Arcane::BasicRayMeshIntersection::compute(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::CartesianMeshAMRPatchMng::refine(), et Arcane::TransferValuesParallelOperation::transferValues().
Effectue une barière.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2(), Arcane::mesh::MeshRefinement::_contract(), Arcane::mesh::TiedInterfaceBuilder::_gatherAllNodesInfo(), Arcane::mesh::TiedInterfaceBuilder::_gatherFaces(), Arcane::mesh::ParallelAMRConsistency::_gatherItems(), Arcane::LimaCutInfosReader::_readUniqueIndex(), Arcane::MetisMeshPartitioner::_writeGraph(), Arcane::mesh::GhostLayerBuilder::addGhostChildFromParent(), Arcane::mesh::Parallel3EdgeUniqueIdBuilder::compute(), Arcane::UnstructuredMeshUtilities::computeDirection(), Arccore::MessagePassing::mpBarrier(), et Arcane::UnstructuredMeshUtilities::partitionAndExchangeMeshWithReplication().
|
pure virtual |
Effectue un broadcast d'une zone mémoire.
Le processeur qui effectue le broadcast est donnée par \id. Le tableau envoyé est alors donnée par bytes. Les processeurs réceptionnent le tableau dans bytes. Ce tableau est alloué automatiquement, les processeurs réceptionnant n'ont pas besoin de connaitre le nombre d'octets devant être envoyés.
Implémenté dans Arcane::ParallelMngDispatcher, et Arcane::SequentialParallelMng.
Référencé par Arcane::VtkMeshIOService::_readData(), et Arcane::Hdf5VariableReaderHelper2::open().
Construit l'instance.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::MessagePassing::HybridParallelMngContainer::_createParallelMng(), Arcane::MessagePassing::SharedMemoryParallelMngContainer::_createParallelMng(), et Arcane::MpiParallelSuperMng::internalCreateWorldParallelMng().
|
pure virtual |
Rang de cette instance dans le communicateur.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::TimeHistoryMngInternal::_addHistoryValue(), Arcane::VariableIOReaderMng::_checkHashFunction(), Arcane::mesh::MeshRefinement::_checkLevelOne(), Arcane::mesh::FaceUniqueIdBuilder2::_computeAndSortBoundaryFaces(), Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV1(), Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2(), Arcane::mesh::FaceUniqueIdBuilder2::_computeParallel(), Arcane::VtkHdfV2DataWriter::_computeWritePartInfo(), Arcane::CartesianMeshCoarsening2::_createCoarseCells2D(), Arcane::CartesianMeshCoarsening2::_createCoarseCells3D(), Arcane::VariableSynchronizerComputeList::_createList(), Arcane::mesh::ParallelAMRConsistency::_gatherFaces(), Arcane::mesh::TiedInterfaceBuilder::_gatherFaces(), Arcane::mesh::ParallelAMRConsistency::_gatherItems(), Arcane::mesh::MeshRefinement::_makeCoarseningCompatible(), Arcane::mesh::MeshRefinement::_makeRefinementCompatible(), Arcane::mesh::GhostLayerBuilder2::_markBoundaryItems(), Arcane::mesh::GhostLayerBuilder2::_markBoundaryNodes(), Arcane::ArcaneInitialPartitioner::_mergeConstraints(), Arcane::MetisMeshPartitioner::_partitionMesh(), Arcane::VtkMeshIOService::_readData(), Arcane::VtkMeshIOService::_readFacesMesh(), Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::MshParallelMeshReader::_readOneElementBlock(), Arcane::LimaCutInfosReader::_readUniqueIndex(), Arcane::MetisMeshPartitioner::_removeEmptyPartsV1(), Arcane::MetisMeshPartitioner::_removeEmptyPartsV2Helper(), Arcane::mesh::GhostLayerBuilder2::_sortBoundaryNodeList(), ArcaneTest::CartesianMeshTesterModule::_testGridPartitioning(), Arcane::MetisMeshPartitioner::_writeGraph(), Arcane::mesh::GhostLayerBuilder::addGhostChildFromParent(), Arcane::mesh::GhostLayerBuilder2::addGhostLayers(), Arcane::ParallelMngDispatcher::broadcastMemoryBuffer(), Arcane::CartesianMeshAMRPatchMng::coarse(), Arcane::mesh::ItemRefinement::coarsenOneCell(), Arcane::BasicRayMeshIntersection::compute(), Arcane::VariablePrivate::computeComparisonHashCollective(), Arcane::ItemConnectivitySynchronizer::computeExtraItemsToSend(), Arcane::mesh::CartesianFaceUniqueIdBuilder::computeFacesUniqueIdAndOwner(), Arcane::mesh::FaceUniqueIdBuilder2::computeFacesUniqueIdAndOwnerVersion5(), Arcane::mesh::TiedInterfaceBuilder::computeInterfaceConnections(), Arcane::UnstructuredMeshUtilities::computeNormal(), Arcane::CartesianMeshCoarsening::createCoarseCells(), Arcane::TimeLoopMng::doComputeLoop(), Arcane::MeshUtils::dumpSynchronizerTopologyJSON(), Arcane::mesh::DynamicMeshKindInfos::finalizeMeshChanged(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::mesh::MeshRefinement::init(), Arcane::GraphDistributor::initWithOneRankPerNode(), Arcane::TimeHistoryMngInternal::iterationsAndValues(), Arcane::MeshPartitionerTester::partitionMesh(), Arcane::XmfMeshReader::readMeshFromFile(), Arcane::ItemTypeMng::readTypes(), Arcane::TimeHistoryMngInternal::readVariables(), Arcane::CartesianMeshAMRPatchMng::refine(), et Arcane::TransferValuesParallelOperation::transferValues().
|
pure virtual |
Nombre d'instance dans le communicateur.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::mesh::FaceUniqueIdBuilder2::_computeAndSortBoundaryFaces(), Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV1(), Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2(), Arcane::mesh::MeshExchange::_computeMeshConnectivityInfos3(), Arcane::ArcaneLoadBalanceModule::_computeWeights(), Arcane::VtkHdfV2DataWriter::_computeWritePartInfo(), Arcane::VariableSynchronizerComputeList::_createList(), Arcane::TimeHistoryMngInternal::_dumpSummaryOfCurves(), Arcane::TimeHistoryMngInternal::_dumpSummaryOfCurvesLegacy(), Arcane::mesh::TiedInterfaceBuilder::_gatherAllNodesInfo(), Arcane::mesh::ParallelAMRConsistency::_gatherFaces(), Arcane::mesh::TiedInterfaceBuilder::_gatherFaces(), Arcane::mesh::ParallelAMRConsistency::_gatherItems(), Arcane::MetisMeshPartitioner::_partitionMesh(), Arcane::SubDomain::_printCPUAffinity(), Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::MshParallelMeshReader::_readNodesFromFileAscii(), Arcane::LimaCutInfosReader::_readUniqueIndex(), Arcane::mesh::GhostLayerBuilder2::_sortBoundaryNodeList(), Arcane::CheckpointMng::_writeCheckpointInfoFile(), Arcane::MetisMeshPartitioner::_writeGraph(), Arcane::mesh::DynamicMesh::addCells(), Arcane::mesh::DynamicMesh::addCells(), Arcane::mesh::GhostLayerBuilder::addGhostChildFromParent(), Arcane::mesh::CommonItemGroupFilterer::applyFiltering(), Arcane::Parallel::VariableParallelOperationBase::applyOperation(), Arcane::centralizePartInfo(), Arcane::CartesianMeshAMRPatchMng::coarse(), Arcane::ItemConnectivitySynchronizer::computeExtraItemsToSend(), Arcane::TimeHistoryMngInternal::dumpCurves(), Arcane::MessagePassing::dumpDateAndMemoryUsage(), Arcane::MeshUtils::dumpSynchronizerTopologyJSON(), Arcane::MessagePassing::filterCommonStrings(), Arcane::VariableUtilities::filterCommonVariables(), Arcane::mesh::MeshRefinement::findOrAddFaceUid(), Arcane::mesh::MeshRefinement::findOrAddNodeUid(), Arcane::mesh::MeshRefinement::getFirstChildNewUid(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::mesh::MeshRefinement::init(), Arcane::SplitSDMeshPartitioner::init(), Arcane::GraphDistributor::initWithOneRankPerNode(), Arcane::ArcaneInitialPartitioner::partitionAndDistributeMeshes(), ArcaneTest::CartesianMeshPartitionerService::partitionMesh(), Arcane::MeshPartitionerTester::partitionMesh(), Arcane::SimpleGridMeshPartitioner::partitionMesh(), Arcane::MetisMeshPartitioner::partitionMesh(), Arcane::MshParallelMeshReader::readMeshFromMshFile(), Arcane::CartesianMeshAMRPatchMng::refine(), et Arcane::ModuleMaster::timeLoopBegin().
|
pure virtual |
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:
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::MetisWrapper::callAdaptiveRepart(), Arcane::MetisWrapper::callPartKway(), et Arcane::VariableSynchronizerMpiCommunicator::compute().
|
pure virtual |
Calcule en une opération la somme, le min, le max d'une valeur.
Calcule le minimum, le maximum et la somme de la valeur val.
val | valeur servant pour le calcul | |
[out] | min_val | valeur minimale |
[out] | max_val | valeur maximale |
[out] | sum_val | somme des valeurs |
[out] | min_rank | rang du processeur ayant la valeur minimale |
[out] | max_rank | rang du processeur ayant la valeur maximale |
Référencé par Arcane::MetisMeshPartitioner::_removeEmptyPartsV1(), Arcane::MetisMeshPartitioner::_removeEmptyPartsV2Helper(), Arcane::mesh::BasicParticleExchanger::beginNewExchange(), Arcane::SplitSDMeshPartitioner::ConnexifieDomaine(), Arcane::MessagePassing::HybridParallelMng::createSubParallelMngRef(), Arcane::MessagePassing::dumpDateAndMemoryUsage(), et Arcane::ModuleMaster::timeLoopBegin().
|
pure virtual |
Calcule en une opération la somme, le min, le max d'une valeur.
Calcule le minimum, le maximum et la somme de la valeur val.
val | valeur servant pour le calcul | |
[out] | min_val | valeur minimale |
[out] | max_val | valeur maximale |
[out] | sum_val | somme des valeurs |
[out] | min_rank | rang du processeur ayant la valeur minimale |
[out] | max_rank | rang du processeur ayant la valeur maximale |
|
pure virtual |
Retourne une interface pour transférer des messages entre processeurs.
L'instance retournée doit être détruite par l'opérateur delete.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
Créé une liste de requêtes pour ce gestionnaire.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arccore::MessagePassing::mpCreateRequestListRef().
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
Créé une liste pour gérer les 'ISerializeMessage'.
Implémenté dans Arcane::ParallelMngDispatcher.
|
pure virtual |
Créé une liste pour gérer les 'ISerializeMessage'.
Implémenté dans Arcane::ParallelMngDispatcher.
Référencé par Arccore::MessagePassing::mpCreateSerializeMessageListRef().
|
pure virtual |
Créé un nouveau gestionnaire de parallélisme pour un sous-ensemble des rangs.
Implémenté dans Arcane::ParallelMngDispatcher.
|
pure virtual |
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.
Implémenté dans Arcane::ParallelMngDispatcher, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::GraphDistributor::initWithOneRankPerNode().
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
Libère les requêtes.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::SharedMemoryParallelMng, et Arcane::MessagePassing::HybridParallelMng.
|
pure virtual |
Effectue un regroupement sur tous les processeurs.
Il s'agit d'une opération collective. Le nombre d'éléments du tableau send_buf peut être différent pour chaque processeur. Le tableau recv_buf contient en sortie la concaténation des tableaux send_buf de chaque processeur. Ce tableau recv_buf est éventuellement redimensionné pour le processeurs de rang rank.
Référencé par Arcane::VariablePrivate::computeComparisonHashCollective(), et Arcane::MeshUtils::dumpSynchronizerTopologyJSON().
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::Hdf5Utils::HProperty::createFilePropertyMPIIO(), et mpiCommunicator().
Initialise le gestionnaire du parallélisme.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Gestionnaire des entrées/sorties.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::LimaCutInfosReader::_readUniqueIndex(), et Arcane::TimeHistoryMngInternal::readVariables().
Indique si l'implémentation utilise le mode hybride.
L'implémentation utilise le mode mixte MPI/thread.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
true si l'instance est un gestionnaire maître des entrées/sorties.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::SubDomain::_printCPUAffinity(), Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::centralizePartInfo(), Arcane::Hdf5VariableReaderHelper2::open(), et Arcane::MshParallelMeshReader::readMeshFromMshFile().
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::mesh::MeshRefinement::_contract(), Arcane::VariableIOWriterMng::_generateMeshesMetaData(), Arcane::mesh::MeshRefinement::_makeCoarseningCompatible(), Arcane::mesh::MeshRefinement::_makeFlagParallelConsistent(), Arcane::MshMeshReader::_readMeshFromNewMshFile(), Arcane::LimaCutInfosReader::_readUniqueIndex(), Arcane::mesh::MeshRefinement::_refineItems(), Arcane::mesh::GhostLayerBuilder::addGhostChildFromParent(), Arcane::mesh::GhostLayerBuilder2::addGhostLayers(), Arcane::mesh::MeshRefinement::coarsenItems(), Arcane::mesh::MeshRefinement::coarsenItemsV2(), Arcane::BasicRayMeshIntersection::compute(), Arcane::mesh::FaceUniqueIdBuilder2::computeFacesUniqueIdAndOwnerVersion3(), Arcane::mesh::FaceUniqueIdBuilder2::computeFacesUniqueIdAndOwnerVersion5(), Arcane::ArcaneBasicVerifierService::doVerifFromReferenceFile(), Arcane::mesh::DynamicMeshKindInfos::finalizeMeshChanged(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::mesh::AsyncParticleExchanger::initialize(), Arcane::ArcaneBasicCheckpointService::notifyBeginWrite(), Arcane::ArcaneVerifierModule::onExit(), Arcane::MeshReaderMng::readMesh(), Arcane::XmfMeshReader::readMeshFromFile(), Arcane::MshParallelMeshReader::readMeshFromMshFile(), Arcane::Materials::MeshMaterialVariableSynchronizer::recompute(), Arcane::mesh::MeshRefinement::refineAndCoarsenItems(), Arcane::mesh::MeshRefinement::refineItems(), et Arcane::TransferValuesParallelOperation::transferValues().
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::MetisMeshPartitioner::_partitionMesh().
|
pure virtual |
Sonde si des messages sont disponibles.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arccore::MessagePassing::mpLegacyProbe().
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::TimeHistoryMngInternal::_dumpSummaryOfCurves(), Arcane::TimeHistoryMngInternal::_dumpSummaryOfCurvesLegacy(), Arcane::SubDomain::_printCPUAffinity(), Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::centralizePartInfo(), Arcane::VariablePrivate::computeComparisonHashCollective(), Arcane::TimeHistoryMngInternal::dumpCurves(), Arcane::Hdf5VariableReaderHelper2::open(), et Arcane::MshParallelMeshReader::readMeshFromMshFile().
|
pure virtual |
Gestionnaire de message de Arccore associé
Implémenté dans Arcane::ParallelMngDispatcher.
Référencé par Arcane::TransferValuesParallelOperation::transferValues().
|
virtual |
Adresse du communicateur MPI associé à ce gestionnaire.
Définition à la ligne 49 du fichier Parallel.cc.
Références getMPICommunicator().
|
inlinefinalprivatevirtual |
Nombre total de sous-domaines.
Définition à la ligne 96 du fichier IParallelMng.h.
|
pure virtual |
Interface des opérations collectives non blocantes.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::mesh::AsyncParticleExchanger::initialize().
Affiche des statistiques liées à ce gestionnaire du parallélisme.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
Sonde si des messages sont disponibles.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arccore::MessagePassing::mpProbe().
|
pure virtual |
Exécute les opérations des messages messages.
Implémenté dans Arcane::ParallelMngDispatcher, et Arcane::SequentialParallelMng.
Référencé par Arcane::GetVariablesValuesParallelOperation::getVariableValues().
|
pure virtual |
Reception du message message le tableau values
Reception du rang rank le tableau values
Référencé par Arcane::mesh::FaceUniqueIdBuilder2::_computeAndSortBoundaryFaces(), Arcane::VariableSynchronizerComputeList::_createList(), Arcane::TimeHistoryMngInternal::_dumpSummaryOfCurves(), Arcane::TimeHistoryMngInternal::_dumpSummaryOfCurvesLegacy(), Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::MshParallelMeshReader::_readOneElementBlock(), Arcane::LimaCutInfosReader::_readUniqueIndex(), Arcane::mesh::GhostLayerBuilder2::_sortBoundaryNodeList(), Arcane::centralizePartInfo(), et Arcane::TimeHistoryMngInternal::dumpCurves().
|
pure virtual |
Recoie du sous-domaine rank le tableau values
|
pure virtual |
Informations sur la réplication.
Le pointeur retourné n'est jamais nul et reste la propriété de cette instance.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::CheckpointMng::_writeCheckpointInfoFile(), Arcane::Variable::checkIfSameOnAllReplica(), Arcane::UnstructuredMeshUtilities::partitionAndExchangeMeshWithReplication(), et Arcane::ArcaneSession::setLogAndErrorFiles().
|
pure virtual |
Envoie du message message avec les valeurs du tableau values
|
pure virtual |
la requête donnée en retour doit être utilisée dans waitAllRequests() ou libérée par appel à freeRequests().
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::VariableIOWriterMng::_generateMeshesMetaData().
|
pure virtual |
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émenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
Positionne le gestionnaire de statistiques.
Implémenté dans Arcane::ParallelMngDispatcher.
Gestionnaire des statistiques.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::SubDomain::setIsInitialized(), et Arcane::Materials::ItemMaterialVariableScalar< DataType >::synchronize().
|
inlinefinalprivatevirtual |
Numéro du sous-domaine associé à ce gestionnaire.
Définition à la ligne 93 du fichier IParallelMng.h.
|
pure virtual |
Test si une des requêtes rvalues est terminée.
Retourne un tableau d'indices des requêtes réalisées.
Implémenté dans Arcane::ParallelMngDispatcher, Arcane::SequentialParallelMng, et Arcane::MpiParallelMng.
|
pure virtual |
Gestionnaire de threads.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
pure virtual |
Collecteur Arccore des statistiques temporelles (peut être nul)
Implémenté dans Arcane::ParallelMngDispatcher.
Gestionnaire de timers.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::LimaCutInfosReader::_readUniqueIndex(), et Arcane::Materials::ItemMaterialVariableScalar< DataType >::synchronize().
|
pure virtual |
Gestionnaire de statistiques associé (peut être nul)
Implémenté dans Arcane::ParallelMngDispatcher.
Référencé par Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::VariableMng::initialize(), Arcane::UnstructuredMeshUtilities::partitionAndExchangeMeshWithReplication(), et Arcane::TransferValuesParallelOperation::transferValues().
Gestionnaire de traces.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::mesh::TiedInterfacePartitionConstraint::addLinkedCells(), Arcane::CartesianMeshAllocateBuildInfo::allocateMesh(), Arcane::UnstructuredMeshAllocateBuildInfo::allocateMesh(), Arcane::MeshUtils::dumpSynchronizerTopologyJSON(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::GetVariablesValuesParallelOperation::getVariableValues(), Arcane::GraphDistributor::initWithOneRankPerNode(), Arcane::Parallel::Stat::printCollective(), Arcane::TransferValuesParallelOperation::transferValues(), et Arcane::Hdf5VariableInfoBase::writeGroup().
Bloque en attendant que les requêtes rvalues soient terminées.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
Référencé par Arcane::mesh::FaceUniqueIdBuilder2::_computeAndSortBoundaryFaces(), Arcane::VariableSynchronizerComputeList::_createList(), Arcane::mesh::GhostLayerBuilder2::_sortBoundaryNodeList(), Arcane::MeshPartitionerBase::dumpObject(), et Arccore::MessagePassing::mpWaitAll().
|
pure virtual |
Bloque en attendant qu'une des requêtes rvalues soit terminée.
Retourne un tableau d'indices des requêtes réalisées.
Implémenté dans Arcane::ParallelMngDispatcher, Arcane::SequentialParallelMng, et Arcane::MpiParallelMng.
Référencé par Arccore::MessagePassing::mpTestSome(), et Arccore::MessagePassing::mpWaitSome().
|
pure virtual |
Gestionnaire de parallélisme sur l'ensemble des ressources allouées.
Implémenté dans Arcane::SequentialParallelMng, Arcane::MpiParallelMng, Arcane::MessagePassing::HybridParallelMng, et Arcane::MessagePassing::SharedMemoryParallelMng.
|
friend |
Définition à la ligne 55 du fichier IParallelMng.h.