Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::ArcaneLauncher

Classe de gestion de l'exécution. Plus de détails...

#include <arcane/launcher/ArcaneLauncher.h>

Fonctions membres publiques statiques

static void init (const CommandLineArguments &args)
 Positionne les informations à partir des arguments de la ligne de commande et initialise le lanceur.
 
static bool isInitialized ()
 Indique si init() a déjà été appelé.
 
static int run ()
 Point d'entrée de l'exécutable dans Arcane.
 
static int run (std::function< int(DirectExecutionContext &)> func)
 Exécution directe.
 
static int run (std::function< int(DirectSubDomainExecutionContext &)> func)
 Exécution directe avec création de sous-domaine.
 
static void setDefaultMainFactory (IMainFactory *mf)
 Positionne la fabrique par défaut pour créer les différents gestionnaires.
 
static ApplicationInfoapplicationInfo ()
 Informations sur l'application.
 
static ApplicationBuildInfoapplicationBuildInfo ()
 Informations sur les paramêtre d'exécutions de l'application.
 
static DotNetRuntimeInitialisationInfodotNetRuntimeInitialisationInfo ()
 Informations pour l'initialisation du runtime '.Net'.
 
static AcceleratorRuntimeInitialisationInfoacceleratorRuntimeInitialisationInfo ()
 Informations pour l'initialisation des accélerateurs.
 
static String getExeDirectory ()
 Nom complet du répertoire où se trouve l'exécutable.
 
static StandaloneAcceleratorMng createStandaloneAcceleratorMng ()
 Créé une implémentation autonome pour gérer les accélérateurs.
 
static StandaloneSubDomain createStandaloneSubDomain (const String &case_file_name)
 Créé une implémentation autonome pour gérer un sous-domaine.
 
static bool needHelp ()
 Demande d'aide avec l'option "--help" ou "-h".
 
static bool printHelp ()
 Affichage de l'aide générique Arcane.
 
static int runDirect (std::function< int(IDirectExecutionContext *)> func)
 
static void setCommandLineArguments (const CommandLineArguments &args)
 

Description détaillée

Classe de gestion de l'exécution.

Il existe deux modes d'utilisation d'Arcane : le mode classique et le mode autonome.

Quel que soit le mode retenu, la première chose à faire est d'initialiser Arcane en positionnant les arguments via la méthode init() car certains paramètres de la ligne de commande sont utilisés pour remplir les propriétés de applicationInfo() et dotNetRuntimeInitialisationInfo().

La page Lancement d'un calcul donne des exemples d'usage.

Les deux modes d'éxécutions sont:

L'usage classique est le suivant:

int main(int* argc,char* argv[])
{
auto& app_info = ArcaneLauncher::applicationInfo();
app_info.setCodeName("MyCode");
app_info.setCodeVersion(VersionInfo(1,0,0));
}
static int run()
Point d'entrée de l'exécutable dans Arcane.
static void init(const CommandLineArguments &args)
Positionne les informations à partir des arguments de la ligne de commande et initialise le lanceur.
static ApplicationInfo & applicationInfo()
Informations sur l'application.
Arguments de la ligne de commande.
Informations sur une version.
Definition VersionInfo.h:46

L

Définition à la ligne 83 du fichier ArcaneLauncher.h.

Documentation des fonctions membres

◆ acceleratorRuntimeInitialisationInfo()

AcceleratorRuntimeInitialisationInfo & Arcane::ArcaneLauncher::acceleratorRuntimeInitialisationInfo ( )
static

Informations pour l'initialisation des accélerateurs.

Pour être prise en compte, ces informations doivent être modifiées avant l'appel à run() ou à rundDirect().

Définition à la ligne 141 du fichier ArcaneLauncher.cc.

Référencé par init().

◆ applicationBuildInfo()

ApplicationBuildInfo & Arcane::ArcaneLauncher::applicationBuildInfo ( )
static

Informations sur les paramêtre d'exécutions de l'application.

Cette méthode permet de récupérer l'instance de ApplicationBuildInfo qui sera utilisée lors de l'appel à run().

Pour être prise en compte, ces informations doivent être modifiées avant l'appel à run() ou à runDirect().

Définition à la ligne 150 du fichier ArcaneLauncher.cc.

Référencé par run().

◆ applicationInfo()

ApplicationInfo & Arcane::ArcaneLauncher::applicationInfo ( )
static

Informations sur l'application.

Cette méthode permet de récupérer l'instance de ApplicationInfo qui sera utilisée lors de l'appel à run().

Pour être prise en compte, ces informations doivent être modifiées avant l'appel à run() ou à runDirect().

Définition à la ligne 123 du fichier ArcaneLauncher.cc.

Référencé par init(), needHelp(), et printHelp().

◆ createStandaloneAcceleratorMng()

StandaloneAcceleratorMng Arcane::ArcaneLauncher::createStandaloneAcceleratorMng ( )
static

Créé une implémentation autonome pour gérer les accélérateurs.

Il faut appeler init() avant d'appeler cette méthode. Le choix du runtime (Arcane::Accelerator::eExecutionPolicy) est déterminé par les arguments utilisés lors de l'appel à init() ou spécifiés via acceleratorRuntimeInitialisationInfo() (voir Exécution pour plus d'informations)

Définition à la ligne 387 du fichier ArcaneLauncher.cc.

◆ createStandaloneSubDomain()

StandaloneSubDomain Arcane::ArcaneLauncher::createStandaloneSubDomain ( const String & case_file_name)
static

Créé une implémentation autonome pour gérer un sous-domaine.

Une seule instance de StandaloneSubDomain est autorisée. Si on appelle cette méthode plus d'une fois cela génère une exception.

Il faut appeler init() avant d'appeler cette méthode.

Si on appelle cette méthode il ne faut pas appeler d'autres méthodes d'exécution de ArcaneLauncher (par exemple ArcaneLauncher::run()).

case_file_name est le nom du fichier contenant le jeu de données Si nul, alors il n'y a pas de jeu de données.

Définition à la ligne 397 du fichier ArcaneLauncher.cc.

Références ARCANE_FATAL.

◆ dotNetRuntimeInitialisationInfo()

DotNetRuntimeInitialisationInfo & Arcane::ArcaneLauncher::dotNetRuntimeInitialisationInfo ( )
static

Informations pour l'initialisation du runtime '.Net'.

Pour être prise en compte, ces informations doivent être modifiées avant l'appel à run() ou à rundDirect().

Définition à la ligne 132 du fichier ArcaneLauncher.cc.

Référencé par init().

◆ getExeDirectory()

String Arcane::ArcaneLauncher::getExeDirectory ( )
static

Nom complet du répertoire où se trouve l'exécutable.

Définition à la ligne 159 du fichier ArcaneLauncher.cc.

Références Arcane::platform::getExeFullPath(), et Arcane::platform::getFileDirName().

◆ init()

void Arcane::ArcaneLauncher::init ( const CommandLineArguments & args)
static

Positionne les informations à partir des arguments de la ligne de commande et initialise le lanceur.

Cette méthode remplit les valeurs non initialisées de applicationInfo() et dotNetRuntimeInitialisationInfo() avec les paramètres spécifiés dans args.

Il ne faut appeler cette méthode qu'une seule fois. Les appels supplémentaires génèrent une exception FatalErrorException.

Définition à la ligne 321 du fichier ArcaneLauncher.cc.

Références acceleratorRuntimeInitialisationInfo(), applicationInfo(), ARCANE_FATAL, Arcane::ApplicationInfo::commandLineArguments(), dotNetRuntimeInitialisationInfo(), Arcane::String::empty(), Arcane::CommandLineArguments::getParameter(), Arcane::CommandLineArguments::parameters(), et Arcane::TaskFactory::setDefaultParallelLoopOptions().

Référencé par setCommandLineArguments().

◆ isInitialized()

bool Arcane::ArcaneLauncher::isInitialized ( )
static

Indique si init() a déjà été appelé.

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

◆ needHelp()

bool Arcane::ArcaneLauncher::needHelp ( )
static

Demande d'aide avec l'option "--help" ou "-h".

Méthode permettant de savoir si l'utilisateur a demandé l'aide avec l'option "--help" ou "-h".

Renvoie
true si l'aide a été demandée.

Définition à la ligne 421 du fichier ArcaneLauncher.cc.

Références applicationInfo(), Arcane::ApplicationInfo::commandLineArguments(), et Arcane::CommandLineArguments::needHelp().

Référencé par printHelp().

◆ printHelp()

bool Arcane::ArcaneLauncher::printHelp ( )
static

Affichage de l'aide générique Arcane.

Méthode permettant d'afficher l'aide générique Arcane si l'utilisateur l'a demandée avec l'option "--help" ou "-h".

Renvoie
true si l'aide a été demandée.

Définition à la ligne 430 du fichier ArcaneLauncher.cc.

Références applicationInfo(), et needHelp().

◆ run() [1/3]

int Arcane::ArcaneLauncher::run ( )
static

Point d'entrée de l'exécutable dans Arcane.

Cette méthode appelle initialise l'application, lit le jeu de données et exécute le code suivant la boucle en temps spécifiée dans le jeu de donnée.

Valeurs retournées
0en cas de succès
Renvoie
une valeur différente de 0 en cas d'erreur.

Définition à la ligne 114 du fichier ArcaneLauncher.cc.

◆ run() [2/3]

int Arcane::ArcaneLauncher::run ( std::function< int(DirectExecutionContext &)> func)
static

Exécution directe.

Initialise l'application et appelle la fonction func après l'initialisation Cette méthode ne doit être appelée qu'en exécution séquentielle.

Définition à la ligne 226 du fichier ArcaneLauncher.cc.

◆ run() [3/3]

int Arcane::ArcaneLauncher::run ( std::function< int(DirectSubDomainExecutionContext &)> func)
static

Exécution directe avec création de sous-domaine.

Initialise l'application et créé le ou les sous-domaines et appelle la fonction func après. Cette méthode permet d'exécuter du code sans passer par les mécanismes de la boucle en temps. Cette méthode permet de gérer automatiquement la création des sous-domaines en fonction des paramètres de lancement (exécution parallèle MPI, multithreading, ...).

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

Références applicationBuildInfo(), Arcane::ApplicationBuildInfo::configFileName(), Arcane::String::empty(), et Arcane::ApplicationBuildInfo::setConfigFileName().

◆ runDirect()

int Arcane::ArcaneLauncher::runDirect ( std::function< int(IDirectExecutionContext *)> func)
static
Obsolète

Définition à la ligne 202 du fichier ArcaneLauncher.cc.

◆ setCommandLineArguments()

static void Arcane::ArcaneLauncher::setCommandLineArguments ( const CommandLineArguments & args)
inlinestatic
Obsolète

Définition à la ligne 247 du fichier ArcaneLauncher.h.

Références init(), et setCommandLineArguments().

Référencé par setCommandLineArguments().

◆ setDefaultMainFactory()

void Arcane::ArcaneLauncher::setDefaultMainFactory ( IMainFactory * mf)
static

Positionne la fabrique par défaut pour créer les différents gestionnaires.

Cette méthode doit être appelée avant run(). L'instance passée en argument doit rester valide durant l'exécution de run(). L'appelant reste propriétaire de l'instance.

Définition à la ligne 365 du fichier ArcaneLauncher.cc.


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