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

Superviseur du parallélisme en mode séquentiel. Plus de détails...

#include <arcane/impl/SequentialParallelSuperMng.h>

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

Fonctions membres publiques

 SequentialParallelSuperMng (const ServiceBuildInfo &sbi)
 
 SequentialParallelSuperMng (const ServiceBuildInfo &sbi, Parallel::Communicator comm)
 
void build () override
 Construction de niveau build du service.
 
void initialize () override
 Initialise l'instance.
 
IApplicationapplication () const override
 Retourne le gestionnaire principal.
 
IThreadMngthreadMng () const override
 Gestionnaire de thread.
 
bool isParallel () const override
 Retourne true si l'exécution est parallèle.
 
Int32 commRank () const override
 Retourne le numéro du process (compris entre 0 et nbProcess()-1)
 
Int32 commSize () const override
 Retourne le nombre total de process utilisés.
 
Int32 traceRank () const override
 Rang de cette instance pour les traces.
 
voidgetMPICommunicator () override
 Adresse du communicateur MPI associé à ce gestionnaire.
 
MP::Communicator communicator () const override
 Communicateur MPI associé à ce gestionnaire.
 
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)
 
Integer nbLocalSubDomain () override
 Nombre de sous-domaines à créér localement.
 
void barrier () override
 Gestionnaire de parallèlisme pour l'ensemble des ressources allouées.
 
Ref< IParallelMnginternalCreateWorldParallelMng (Int32 local_rank) override
 Créé un gestionnaire de parallélisme pour l'ensemble des coeurs alloués.
 
void tryAbort () override
 Tente de faire un abort.
 
- Fonctions membres publiques hérités de Arcane::AbstractService
virtual ~AbstractService ()
 Destructeur.
 
virtual IServiceInfoserviceInfo () const
 Accès aux informations du service.
 
virtual IBaseserviceParent () const
 Accès à l'interface de base des principaux objets Arcane.
 
virtual IServiceserviceInterface ()
 Retourne l'interface bas niveau IService du service.
 
- Fonctions membres publiques hérités de Arccore::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 
- Fonctions membres publiques hérités de Arcane::IService
virtual ~IService ()
 Libère les ressources.
 
- Fonctions membres publiques hérités de Arcane::ParallelSuperMngDispatcher
virtual void allGather (ByteConstArrayView send_buf, ByteArrayView recv_buf)
 
virtual void allGather (Int32ConstArrayView send_buf, Int32ArrayView recv_buf)
 
virtual void allGather (Int64ConstArrayView send_buf, Int64ArrayView recv_buf)
 
virtual void allGather (RealConstArrayView send_buf, RealArrayView recv_buf)
 
virtual Int32 reduce (eReduceType rt, Int32 v)
 
virtual Int64 reduce (eReduceType rt, Int64 v)
 
virtual Real reduce (eReduceType rt, Real v)
 
virtual void reduce (eReduceType rt, Int32ArrayView v)
 
virtual void reduce (eReduceType rt, Int64ArrayView v)
 
virtual void reduce (eReduceType rt, RealArrayView v)
 
virtual void broadcast (ByteArrayView send_buf, Integer id)
 Envoie un tableau de valeurs sur tous les processus Cette opération synchronise le tableau de valeur send_buf sur tous les processus. Le tableau utilisé est celui du processus dont l'identifiant (processId()) est process_id. Tous les processus doivent appelés cette méthode avec le même paramètre process_id et avoir un tableau send_buf contenant le même nombre d'éléments.
 
virtual void broadcast (Int32ArrayView send_buf, Integer id)
 
virtual void broadcast (Int64ArrayView send_buf, Integer id)
 
virtual void broadcast (RealArrayView send_buf, Integer id)
 
virtual void send (ByteConstArrayView values, Integer id)
 
virtual void send (Int32ConstArrayView values, Integer id)
 
virtual void send (Int64ConstArrayView values, Integer id)
 
virtual void send (RealConstArrayView values, Integer id)
 
virtual void recv (ByteArrayView values, Integer id)
 
virtual void recv (Int32ArrayView values, Integer id)
 
virtual void recv (Int64ArrayView values, Integer id)
 
virtual void recv (RealArrayView values, Integer id)
 
virtual Request send (ByteConstArrayView values, Integer id, bool is_blocked)
 
virtual Request send (Int32ConstArrayView values, Integer id, bool is_blocked)
 
virtual Request send (Int64ConstArrayView values, Integer id, bool is_blocked)
 
virtual Request send (RealConstArrayView values, Integer id, bool is_blocked)
 
virtual Request recv (ByteArrayView values, Integer id, bool is_blocked)
 
virtual Request recv (Int32ArrayView values, Integer id, bool is_blocked)
 
virtual Request recv (Int64ArrayView values, Integer id, bool is_blocked)
 
virtual Request recv (RealArrayView values, Integer id, bool is_blocked)
 
virtual void sendRecv (ByteConstArrayView send_buf, ByteArrayView recv_buf, Integer id)
 
virtual void sendRecv (Int32ConstArrayView send_buf, Int32ArrayView recv_buf, Integer id)
 
virtual void sendRecv (Int64ConstArrayView send_buf, Int64ArrayView recv_buf, Integer id)
 
virtual void sendRecv (RealConstArrayView send_buf, RealArrayView recv_buf, Integer id)
 
virtual void allToAll (ByteConstArrayView send_buf, ByteArrayView recv_buf, Integer count)
 
virtual void allToAll (Int32ConstArrayView send_buf, Int32ArrayView recv_buf, Integer count)
 
virtual void allToAll (Int64ConstArrayView send_buf, Int64ArrayView recv_buf, Integer count)
 
virtual void allToAll (RealConstArrayView send_buf, RealArrayView recv_buf, Integer count)
 
virtual Int32 scan (eReduceType rt, Int32 v)
 
virtual Int64 scan (eReduceType rt, Int64 v)
 
virtual Real scan (eReduceType rt, Real v)
 
virtual void scan (eReduceType rt, Int32ArrayView v)
 
virtual void scan (eReduceType rt, Int64ArrayView v)
 
virtual void scan (eReduceType rt, RealArrayView v)
 
- Fonctions membres publiques hérités de Arcane::IParallelSuperMng
virtual ~IParallelSuperMng ()
 Libère les ressources.
 

Attributs privés

IApplicationm_application
 Superviseur associé
 
IThreadMngm_thread_mng
 
ITimerMngm_timer_mng
 
ScopedPtrT< ITimerMngm_owned_timer_mng
 
MP::Communicator m_communicator
 

Membres hérités additionnels

- Types publics hérités de Arcane::IParallelSuperMng
typedef Parallel::Request Request
 
typedef Parallel::eReduceType eReduceType
 
- Fonctions membres protégées hérités de Arcane::AbstractService
 AbstractService (const ServiceBuildInfo &)
 Constructeur à partir d'un ServiceBuildInfo.
 
- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 
- Fonctions membres protégées hérités de Arcane::IService
 IService ()
 Constructeur.
 
- Fonctions membres protégées hérités de Arcane::ParallelSuperMngDispatcher
void _setDispatchers (IParallelDispatchT< Byte > *b, IParallelDispatchT< Int32 > *i32, IParallelDispatchT< Int64 > *i64, IParallelDispatchT< Real > *r)
 
void _finalize ()
 

Description détaillée

Superviseur du parallélisme en mode séquentiel.

Dans ce mode, le parallélisme n'est pas supporté. Ce gestionnaire ne fait donc rien.

Définition à la ligne 37 du fichier SequentialParallelSuperMng.h.

Documentation des constructeurs et destructeur

◆ SequentialParallelSuperMng() [1/2]

Arcane::SequentialParallelSuperMng::SequentialParallelSuperMng ( const ServiceBuildInfo sbi)
explicit

Définition à la ligne 725 du fichier SequentialParallelMng.cc.

◆ SequentialParallelSuperMng() [2/2]

Arcane::SequentialParallelSuperMng::SequentialParallelSuperMng ( const ServiceBuildInfo sbi,
Parallel::Communicator  comm 
)

Définition à la ligne 738 du fichier SequentialParallelMng.cc.

◆ ~SequentialParallelSuperMng()

Arcane::SequentialParallelSuperMng::~SequentialParallelSuperMng ( )
override

Définition à la ligne 752 du fichier SequentialParallelMng.cc.

Documentation des fonctions membres

◆ application()

IApplication * Arcane::SequentialParallelSuperMng::application ( ) const
inlineoverridevirtual

Retourne le gestionnaire principal.

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 50 du fichier SequentialParallelSuperMng.h.

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

◆ barrier()

void Arcane::SequentialParallelSuperMng::barrier ( )
inlineoverridevirtual

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

Effectue une barière

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 61 du fichier SequentialParallelSuperMng.h.

◆ build()

void Arcane::SequentialParallelSuperMng::build ( void  )
overridevirtual

Construction de niveau build du service.

L'appel à build est effectué au moment de sa construction, usuellement au niveau de sa lecture dans les options en phase1.

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

Définition à la ligne 776 du fichier SequentialParallelMng.cc.

Références Arccore::TraceAccessor::traceMng().

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

◆ commRank()

Int32 Arcane::SequentialParallelSuperMng::commRank ( ) const
inlineoverridevirtual

Retourne le numéro du process (compris entre 0 et nbProcess()-1)

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 53 du fichier SequentialParallelSuperMng.h.

◆ commSize()

Int32 Arcane::SequentialParallelSuperMng::commSize ( ) const
inlineoverridevirtual

Retourne le nombre total de process utilisés.

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 54 du fichier SequentialParallelSuperMng.h.

◆ communicator()

MP::Communicator Arcane::SequentialParallelSuperMng::communicator ( ) const
inlineoverridevirtual

Communicateur MPI associé à ce gestionnaire.

Voir également
IParallelMng::communicator()

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 57 du fichier SequentialParallelSuperMng.h.

Référencé par internalCreateWorldParallelMng().

◆ getMPICommunicator()

void * Arcane::SequentialParallelSuperMng::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::IParallelSuperMng.

Définition à la ligne 56 du fichier SequentialParallelSuperMng.h.

◆ initialize()

void Arcane::SequentialParallelSuperMng::initialize ( )
overridevirtual

Initialise l'instance.

L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.

Avertissement
Cette méthode ne doit être appelée qu'une seule fois.

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 761 du fichier SequentialParallelMng.cc.

Références m_application, et Arccore::TraceAccessor::traceMng().

◆ internalCreateWorldParallelMng()

Ref< IParallelMng > Arcane::SequentialParallelSuperMng::internalCreateWorldParallelMng ( Int32  local_rank)
overridevirtual

Créé un gestionnaire de parallélisme pour l'ensemble des coeurs alloués.

Cette opération est collective.

Cette méthode ne doit être appelée qu'une seule fois lors de l'initialisation.

local_rank est le rang local de l'appelant dans la liste des rangs. En mode pure MPI, ce rang est toujours 0 car il n'y a qu'un seul thread. En mode Thread ou Thread/MPI, il s'agit du rang du thread utilisé lors de la création.

Le gestionnaire retourné reste la propriété de cette instance et ne doit pas être détruit.

A usage interne uniquement.

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 788 du fichier SequentialParallelMng.cc.

Références ARCANE_THROW, communicator(), threadMng(), et Arccore::TraceAccessor::traceMng().

◆ isMasterIO()

bool Arcane::SequentialParallelSuperMng::isMasterIO ( ) const
inlineoverridevirtual

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

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 58 du fichier SequentialParallelSuperMng.h.

◆ isParallel()

bool Arcane::SequentialParallelSuperMng::isParallel ( ) const
inlineoverridevirtual

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

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 52 du fichier SequentialParallelSuperMng.h.

◆ masterIORank()

Integer Arcane::SequentialParallelSuperMng::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::IParallelSuperMng.

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

◆ nbLocalSubDomain()

Integer Arcane::SequentialParallelSuperMng::nbLocalSubDomain ( )
inlineoverridevirtual

Nombre de sous-domaines à créér localement.

  • 1 si séquentiel.
  • 1 si MPI pur
  • n si THREAD ou THREAD/MPI

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 60 du fichier SequentialParallelSuperMng.h.

◆ threadMng()

IThreadMng * Arcane::SequentialParallelSuperMng::threadMng ( ) const
inlineoverridevirtual

Gestionnaire de thread.

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 51 du fichier SequentialParallelSuperMng.h.

Référencé par internalCreateWorldParallelMng().

◆ traceRank()

Int32 Arcane::SequentialParallelSuperMng::traceRank ( ) const
inlineoverridevirtual

Rang de cette instance pour les traces.

Implémente Arcane::IParallelSuperMng.

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

◆ tryAbort()

void Arcane::SequentialParallelSuperMng::tryAbort ( )
overridevirtual

Tente de faire un abort.

Cette méthode est appelée lorsqu'une exception a été généré et que le cas en cours d'exécution doit s'interrompre. Elle permet d'effectuer les opérations de nettoyage du gestionnaire si besoin est.

Implémente Arcane::IParallelSuperMng.

Définition à la ligne 804 du fichier SequentialParallelMng.cc.

Documentation des données membres

◆ m_application

IApplication* Arcane::SequentialParallelSuperMng::m_application
private

Superviseur associé

Définition à la ligne 68 du fichier SequentialParallelSuperMng.h.

Référencé par initialize().

◆ m_communicator

MP::Communicator Arcane::SequentialParallelSuperMng::m_communicator
private

Définition à la ligne 72 du fichier SequentialParallelSuperMng.h.

◆ m_owned_timer_mng

ScopedPtrT<ITimerMng> Arcane::SequentialParallelSuperMng::m_owned_timer_mng
private

Définition à la ligne 71 du fichier SequentialParallelSuperMng.h.

◆ m_thread_mng

IThreadMng* Arcane::SequentialParallelSuperMng::m_thread_mng
private

Définition à la ligne 69 du fichier SequentialParallelSuperMng.h.

◆ m_timer_mng

ITimerMng* Arcane::SequentialParallelSuperMng::m_timer_mng
private

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


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