Module principal. Plus de détails...
#include <arcane/core/ModuleMaster.h>
Fonctions membres publiques | |
ModuleMaster (const ModuleBuildInfo &) | |
Constructeur. | |
~ModuleMaster () override | |
Destructeur. | |
VersionInfo | versionInfo () const override |
Version du module. | |
CaseOptionsMain * | caseoptions () override |
Accès aux options du module. | |
IModule * | toModule () override |
Conversion en IModule. | |
CommonVariables * | commonVariables () override |
Accès aux variables 'communes' partagées entre tout service et module. | |
void | addTimeLoopService (ITimeLoopService *tls) override |
Ajoute le service de boucle en temps. | |
void | dumpStandardCurves () override |
Sort les courbes classiques (CPUTime, ElapsedTime, ...) | |
void | timeLoopBegin () |
Point d'entrée auto-chargé en début d'itération de la boucle de calcul. | |
void | timeLoopEnd () |
Point d'entrée auto-chargé en fin d'itération de la boucle de calcul. | |
void | masterInit () |
Point d'entrée auto-chargé en début d'initialisation. | |
void | masterStartInit () |
Point d'entrée auto-chargé en début d'initialisation d'un nouveau cas. | |
void | masterContinueInit () |
Point d'entrée auto-chargé en début de reprise d'un nouveau cas. | |
![]() | |
AbstractModule (const ModuleBuildInfo &) | |
Constructeur à partir d'un ModuleBuildInfo. | |
virtual | ~AbstractModule () |
Destructeur. | |
String | name () const override |
Nom du module. | |
ISession * | session () const override |
Session associé au module. | |
ISubDomain * | subDomain () const override |
Sous-domaine associé au module. | |
IMesh * | defaultMesh () const override |
Maillage par défaut pour ce module. | |
MeshHandle | defaultMeshHandle () const override |
Maillage par défaut pour ce module. | |
IParallelMng * | parallelMng () const override |
Gestionnaire du parallélisme par échange de message. | |
IAcceleratorMng * | acceleratorMng () const override |
Gestionnaire des accélérateurs. | |
ITraceMng * | traceMng () const override |
Gestionnaire de traces. | |
void | setUsed (bool v) override |
Positionne le flag d'utilisation du module. | |
bool | used () const override |
Retourne l'état d'utilisation du module. | |
void | setDisabled (bool v) override |
Positionne le flag d'activation du module. | |
bool | disabled () const override |
Retourne l'état d'activation du module. | |
bool | isGarbageCollected () const override |
Indique si le module utilise un système de Garbage collection. | |
![]() | |
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 |
![]() | |
virtual | ~IModule () |
Destructeur. | |
![]() | |
CommonVariables (IModule *c) | |
Construit les références des variables communes pour le module c. | |
CommonVariables (IVariableMng *variable_mng) | |
Construit les références des variables communes pour le gestionnaire variable_mng. | |
CommonVariables (ISubDomain *sd) | |
Construit les références des variables communes pour le sous-domaine sd. | |
virtual | ~CommonVariables () |
Libère les ressources. | |
Int32 | globalIteration () const |
Numéro de l'itération courante. | |
Real | globalTime () const |
Temps courant. | |
Real | globalOldTime () const |
Temps courant précédent. | |
Real | globalFinalTime () const |
Temps final de la simulation. | |
Real | globalDeltaT () const |
Delta T courant. | |
Real | globalCPUTime () const |
Temps CPU utilisé (en seconde) | |
Real | globalOldCPUTime () const |
Temps CPU utilisé précédent (en seconde) | |
Real | globalElapsedTime () const |
Temps horloge (elapsed) utilisé (en seconde) | |
Real | globalOldElapsedTime () const |
Temps horloge (elapsed) utilisé précédent (en seconde) | |
![]() | |
virtual | ~IModuleMaster () |
Destructeur. | |
Fonctions membres protégées | |
virtual void | timeIncrementation () |
Incrémentation du pas de temps surchargeable. | |
virtual void | timeStepInformation () |
Affichage surchargeable des informations du pas de temps. | |
void | _masterBeginLoop () |
void | _masterEndLoop () |
void | _masterStartInit () |
void | _masterContinueInit () |
void | _masterLoopExit () |
void | _masterMeshChanged () |
void | _masterRestore () |
![]() | |
void | _setVersionInfo (const VersionInfo &vi) |
![]() | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Attributs protégés | |
CaseOptionsMain * | m_case_options_main = nullptr |
Instance des options du module. | |
Integer | m_nb_loop = 0 |
Nombre de boucles de calcul effectuées. | |
Real | m_old_cpu_time = 0.0 |
Valeur du temps CPU à la dernière itération. | |
Real | m_old_elapsed_time = 0.0 |
Valeur du temps horloge à la dernière itération. | |
UniqueArray< ITimeLoopService * > | m_timeloop_services |
Liste des services de boucle en temps. | |
bool | m_is_first_loop = true |
Indique si on est dans la première itération de l'exécution. | |
Real | m_thm_mem_used = 0.0 |
Real | m_thm_diff_cpu = 0.0 |
Real | m_thm_global_cpu_time = 0.0 |
Real | m_thm_diff_elapsed = 0.0 |
Real | m_thm_global_elapsed_time = 0.0 |
Real | m_thm_global_time = 0.0 |
bool | m_has_thm_dump_at_iteration = false |
Fonctions membres privées | |
void | _dumpTimeInfo () |
Membres hérités additionnels | |
![]() | |
static void | staticInitialize (ISubDomain *sd) |
Initialisation du module pour le sous-domaine sd. | |
![]() | |
static IModuleMaster * | createDefault (const ModuleBuildInfo &) |
Création d'une instance de IModuleMaster. | |
![]() | |
VariableScalarInt32 | m_global_iteration |
Itération courante. | |
VariableScalarReal | m_global_time |
Temps actuel. | |
VariableScalarReal | m_global_deltat |
Delta T global. | |
VariableScalarReal | m_global_old_time |
Temps précédent le temps actuel. | |
VariableScalarReal | m_global_old_deltat |
Delta T au temps précédent le temps global. | |
VariableScalarReal | m_global_final_time |
Temps final du cas. | |
VariableScalarReal | m_global_old_cpu_time |
Temps précédent CPU utilisé (en seconde) | |
VariableScalarReal | m_global_cpu_time |
Temps CPU utilisé (en seconde) | |
VariableScalarReal | m_global_old_elapsed_time |
Temps précédent horloge utilisé (en seconde) | |
VariableScalarReal | m_global_elapsed_time |
Temps horloge utilisé (en seconde) | |
Module principal.
Ce module est toujours chargé en premier pour que ces points d'entrée encadrent tous ceux des autres modules. Il contient les variables globales du cas, comme le nom de fichier ou le numéro de l'itération.
Définition à la ligne 39 du fichier ModuleMaster.h.
|
explicit |
Constructeur.
Définition à la ligne 58 du fichier ModuleMaster.cc.
Références Arcane::AbstractModule::AbstractModule(), Arcane::addEntryPoint(), Arcane::ISubDomain::caseMng(), Arcane::CommonVariables::CommonVariables(), m_case_options_main, masterContinueInit(), masterInit(), masterStartInit(), Arcane::IEntryPoint::PAutoLoadBegin, Arcane::IEntryPoint::PAutoLoadEnd, Arcane::ModuleBuildInfo::subDomain(), timeLoopBegin(), timeLoopEnd(), Arcane::IEntryPoint::WComputeLoop, Arcane::IEntryPoint::WContinueInit, Arcane::IEntryPoint::WInit, Arcane::IEntryPoint::WOnMeshChanged, Arcane::IEntryPoint::WRestore, et Arcane::IEntryPoint::WStartInit.
|
override |
|
protected |
Définition à la ligne 380 du fichier ModuleMaster.cc.
|
protected |
Définition à la ligne 416 du fichier ModuleMaster.cc.
|
protected |
Définition à la ligne 392 du fichier ModuleMaster.cc.
|
protected |
Définition à la ligne 428 du fichier ModuleMaster.cc.
|
protected |
Définition à la ligne 440 du fichier ModuleMaster.cc.
|
protected |
Définition à la ligne 452 du fichier ModuleMaster.cc.
|
protected |
Définition à la ligne 404 du fichier ModuleMaster.cc.
|
overridevirtual |
Ajoute le service de boucle en temps.
Implémente Arcane::IModuleMaster.
Définition à la ligne 371 du fichier ModuleMaster.cc.
Références m_timeloop_services.
|
inlineoverridevirtual |
Accès aux options du module.
Implémente Arcane::IModuleMaster.
Définition à la ligne 58 du fichier ModuleMaster.h.
Références m_case_options_main.
|
inlineoverridevirtual |
Accès aux variables 'communes' partagées entre tout service et module.
Implémente Arcane::IModuleMaster.
Définition à la ligne 64 du fichier ModuleMaster.h.
Références Arcane::CommonVariables::CommonVariables().
|
overridevirtual |
Sort les courbes classiques (CPUTime, ElapsedTime, ...)
Implémente Arcane::IModuleMaster.
Définition à la ligne 321 du fichier ModuleMaster.cc.
Références Arcane::ITimeHistoryMng::addValue(), Arcane::platform::getCPUTime(), Arcane::platform::getCurrentDateTime(), Arcane::platform::getMemoryUsed(), Arcane::platform::getRealTime(), Arcane::TraceAccessor::info(), Arcane::CommonVariables::m_global_cpu_time, Arcane::CommonVariables::m_global_elapsed_time, Arcane::CommonVariables::m_global_time, m_old_cpu_time, m_old_elapsed_time, Arcane::AbstractModule::subDomain(), et Arcane::ISubDomain::timeHistoryMng().
Référencé par timeLoopEnd().
void Arcane::ModuleMaster::masterContinueInit | ( | ) |
Point d'entrée auto-chargé en début de reprise d'un nouveau cas.
Définition à la ligne 137 du fichier ModuleMaster.cc.
Références Arcane::ISubDomain::caseMng(), Arcane::TraceAccessor::info(), Arcane::CommonVariables::m_global_iteration, Arcane::CommonVariables::m_global_old_deltat, Arcane::CommonVariables::m_global_old_time, Arcane::AbstractModule::subDomain(), et Arcane::ICaseMng::updateOptions().
Référencé par ModuleMaster().
void Arcane::ModuleMaster::masterInit | ( | ) |
Point d'entrée auto-chargé en début d'initialisation.
Définition à la ligne 129 du fichier ModuleMaster.cc.
Référencé par ModuleMaster().
void Arcane::ModuleMaster::masterStartInit | ( | ) |
Point d'entrée auto-chargé en début d'initialisation d'un nouveau cas.
N'est pas appelé en cas d'initialisation sur une reprise
Définition à la ligne 107 du fichier ModuleMaster.cc.
Références Arcane::ISubDomain::caseMng(), Arcane::CommonVariables::m_global_cpu_time, Arcane::CommonVariables::m_global_elapsed_time, Arcane::CommonVariables::m_global_iteration, Arcane::CommonVariables::m_global_old_cpu_time, Arcane::CommonVariables::m_global_old_deltat, Arcane::CommonVariables::m_global_old_elapsed_time, Arcane::CommonVariables::m_global_old_time, Arcane::CommonVariables::m_global_time, Arcane::AbstractModule::subDomain(), et Arcane::ICaseMng::updateOptions().
Référencé par ModuleMaster().
|
protectedvirtual |
Incrémentation du pas de temps surchargeable.
Définition à la ligne 158 du fichier ModuleMaster.cc.
Références Arcane::CommonVariables::m_global_deltat, et Arcane::CommonVariables::m_global_time.
Référencé par timeLoopBegin().
void Arcane::ModuleMaster::timeLoopBegin | ( | ) |
Point d'entrée auto-chargé en début d'itération de la boucle de calcul.
Définition à la ligne 186 du fichier ModuleMaster.cc.
Références Arcane::ISubDomain::allReplicaParallelMng(), Arcane::ISubDomain::caseMng(), Arcane::IParallelMng::commSize(), Arcane::IParallelMng::computeMinMaxSum(), Arcane::platform::getCPUTime(), Arcane::platform::getCurrentDateTime(), Arcane::platform::getMemoryUsed(), Arcane::platform::getOnlineDebuggerService(), Arcane::platform::getRealTime(), Arcane::TraceAccessor::info(), Arcane::CommonVariables::m_global_cpu_time, Arcane::CommonVariables::m_global_deltat, Arcane::CommonVariables::m_global_elapsed_time, Arcane::CommonVariables::m_global_iteration, Arcane::CommonVariables::m_global_old_cpu_time, Arcane::CommonVariables::m_global_old_elapsed_time, Arcane::CommonVariables::m_global_old_time, Arcane::CommonVariables::m_global_time, m_is_first_loop, m_nb_loop, m_old_cpu_time, m_old_elapsed_time, Arcane::AbstractModule::parallelMng(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::AbstractModule::subDomain(), timeIncrementation(), timeStepInformation(), et Arcane::ICaseMng::updateOptions().
Référencé par ModuleMaster().
void Arcane::ModuleMaster::timeLoopEnd | ( | ) |
Point d'entrée auto-chargé en fin d'itération de la boucle de calcul.
Définition à la ligne 294 du fichier ModuleMaster.cc.
Références dumpStandardCurves(), Arcane::TraceAccessor::info(), Arcane::CommonVariables::m_global_iteration, et Arcane::AbstractModule::subDomain().
Référencé par ModuleMaster().
|
protectedvirtual |
Affichage surchargeable des informations du pas de temps.
Définition à la ligne 167 du fichier ModuleMaster.cc.
Références Arcane::TraceAccessor::info(), Arcane::CommonVariables::m_global_deltat, Arcane::CommonVariables::m_global_iteration, Arcane::CommonVariables::m_global_time, et m_nb_loop.
Référencé par timeLoopBegin().
|
inlineoverridevirtual |
Conversion en IModule.
Implémente Arcane::IModuleMaster.
Définition à la ligne 61 du fichier ModuleMaster.h.
|
inlineoverridevirtual |
Version du module.
Réimplémentée à partir de Arcane::AbstractModule.
Définition à la ligne 55 du fichier ModuleMaster.h.
|
protected |
Instance des options du module.
Définition à la ligne 123 du fichier ModuleMaster.h.
Référencé par caseoptions(), ModuleMaster(), et ~ModuleMaster().
|
protected |
Définition à la ligne 147 du fichier ModuleMaster.h.
|
protected |
Indique si on est dans la première itération de l'exécution.
Définition à la ligne 138 du fichier ModuleMaster.h.
Référencé par timeLoopBegin().
|
protected |
Nombre de boucles de calcul effectuées.
Définition à la ligne 126 du fichier ModuleMaster.h.
Référencé par timeLoopBegin(), et timeStepInformation().
|
protected |
Valeur du temps CPU à la dernière itération.
Définition à la ligne 129 du fichier ModuleMaster.h.
Référencé par dumpStandardCurves(), et timeLoopBegin().
|
protected |
Valeur du temps horloge à la dernière itération.
Définition à la ligne 132 du fichier ModuleMaster.h.
Référencé par dumpStandardCurves(), et timeLoopBegin().
|
protected |
Définition à la ligne 141 du fichier ModuleMaster.h.
|
protected |
Définition à la ligne 143 du fichier ModuleMaster.h.
|
protected |
Définition à la ligne 142 du fichier ModuleMaster.h.
|
protected |
Définition à la ligne 144 du fichier ModuleMaster.h.
|
protected |
Définition à la ligne 145 du fichier ModuleMaster.h.
|
protected |
Définition à la ligne 140 du fichier ModuleMaster.h.
|
protected |
Liste des services de boucle en temps.
Définition à la ligne 135 du fichier ModuleMaster.h.
Référencé par addTimeLoopService().