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. | |
| IApplication * | application () const override |
| Retourne le gestionnaire principal. | |
| IThreadMng * | threadMng () 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. | |
| void * | getMPICommunicator () 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< IParallelMng > | internalCreateWorldParallelMng (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 | |
| ~AbstractService () override | |
| Destructeur. | |
| IServiceInfo * | serviceInfo () const override |
| Accès aux informations du service. Voir IServiceInfo pour les détails. | |
| IBase * | serviceParent () const override |
| Accès à l'interface de base des principaux objets Arcane. | |
| IService * | serviceInterface () override |
| Retourne l'interface bas niveau IService du service. | |
Fonctions membres publiques hérités de Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Construit un accesseur via le gestionnaire de trace m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Constructeur par recopie. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Opérateur de recopie. | |
| virtual | ~TraceAccessor () |
| Libère les ressources. | |
| ITraceMng * | traceMng () 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) |
| void | broadcast (ByteArrayView send_buf, Integer id) override |
| 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. | |
| void | broadcast (Int32ArrayView send_buf, Integer id) override |
| void | broadcast (Int64ArrayView send_buf, Integer id) override |
| void | broadcast (RealArrayView send_buf, Integer id) override |
| 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 | |
| IApplication * | m_application |
| Superviseur associé | |
| IThreadMng * | m_thread_mng |
| ITimerMng * | m_timer_mng |
| ScopedPtrT< ITimerMng > | m_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 Arcane::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 () |
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.
|
explicit |
Définition à la ligne 934 du fichier SequentialParallelMng.cc.
| Arcane::SequentialParallelSuperMng::SequentialParallelSuperMng | ( | const ServiceBuildInfo & | sbi, |
| Parallel::Communicator | comm ) |
Définition à la ligne 947 du fichier SequentialParallelMng.cc.
|
override |
Définition à la ligne 961 du fichier SequentialParallelMng.cc.
|
inlineoverridevirtual |
Retourne le gestionnaire principal.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 50 du fichier SequentialParallelSuperMng.h.
Références m_application.
Référencé par Arcane::MpiSequentialParallelSuperMng::build().
Voici le graphe des appelants de cette fonction :
|
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.
|
overridevirtual |
Construction de niveau build du service.
Cette méthode est appelé juste après le constructeur.
Réimplémentée à partir de Arcane::AbstractService.
Définition à la ligne 985 du fichier SequentialParallelMng.cc.
Références Arcane::TraceAccessor::traceMng().
Référencé par Arcane::MpiSequentialParallelSuperMng::build().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
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.
|
inlineoverridevirtual |
Retourne le nombre total de process utilisés.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 54 du fichier SequentialParallelSuperMng.h.
|
inlineoverridevirtual |
Communicateur MPI associé à ce gestionnaire.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 57 du fichier SequentialParallelSuperMng.h.
Référencé par internalCreateWorldParallelMng().
Voici le graphe des appelants de cette fonction :
|
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.
|
overridevirtual |
Initialise l'instance.
L'instance n'est pas utilisable tant que cette méthode n'a pas été appelée.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 970 du fichier SequentialParallelMng.cc.
Références m_application, et Arcane::IBase::traceMng().
Voici le graphe d'appel pour cette fonction :
|
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 997 du fichier SequentialParallelMng.cc.
Références ARCANE_THROW, communicator(), threadMng(), et Arcane::TraceAccessor::traceMng().
Voici le graphe d'appel pour cette fonction :
|
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.
|
inlineoverridevirtual |
Retourne true si l'exécution est parallèle.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 52 du fichier SequentialParallelSuperMng.h.
|
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.
|
inlineoverridevirtual |
Nombre de sous-domaines à créér localement.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 60 du fichier SequentialParallelSuperMng.h.
|
inlineoverridevirtual |
Gestionnaire de thread.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 51 du fichier SequentialParallelSuperMng.h.
Référencé par internalCreateWorldParallelMng().
Voici le graphe des appelants de cette fonction :
|
inlineoverridevirtual |
Rang de cette instance pour les traces.
Implémente Arcane::IParallelSuperMng.
Définition à la ligne 55 du fichier SequentialParallelSuperMng.h.
|
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 1013 du fichier SequentialParallelMng.cc.
|
private |
Superviseur associé
Définition à la ligne 68 du fichier SequentialParallelSuperMng.h.
Référencé par application(), et initialize().
|
private |
Définition à la ligne 72 du fichier SequentialParallelSuperMng.h.
|
private |
Définition à la ligne 71 du fichier SequentialParallelSuperMng.h.
|
private |
Définition à la ligne 69 du fichier SequentialParallelSuperMng.h.
|
private |
Définition à la ligne 70 du fichier SequentialParallelSuperMng.h.