Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ArcaneLauncher.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* ArcaneLauncher.h (C) 2000-2024 */
9
/* */
10
/* Classe gérant l'exécution. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_LAUNCHER_ARCANELAUNCHER_H
13
#define ARCANE_LAUNCHER_ARCANELAUNCHER_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arcane/launcher/LauncherGlobal.h"
18
19
// Les fichiers suivants ne sont pas directement utilisés dans ce '.h'
20
// mais sont ajoutés pour que le code utilisateur n'ait besoin d'inclure
21
// que 'ArcaneLauncher.h'.
22
#include "arcane/utils/ApplicationInfo.h"
23
#include "arcane/utils/CommandLineArguments.h"
24
25
#include "arcane/core/ApplicationBuildInfo.h"
26
#include "arcane/core/DotNetRuntimeInitialisationInfo.h"
27
#include "arcane/core/AcceleratorRuntimeInitialisationInfo.h"
28
29
#include "arcane/launcher/DirectExecutionContext.h"
30
#include "arcane/launcher/DirectSubDomainExecutionContext.h"
31
#include "arcane/launcher/IDirectExecutionContext.h"
32
#include "arcane/launcher/StandaloneAcceleratorMng.h"
33
#include "arcane/launcher/StandaloneSubDomain.h"
34
35
#include <functional>
36
37
/*---------------------------------------------------------------------------*/
38
/*---------------------------------------------------------------------------*/
39
40
namespace
Arcane
41
{
42
class
IMainFactory;
43
44
/*---------------------------------------------------------------------------*/
45
/*---------------------------------------------------------------------------*/
83
class
ARCANE_LAUNCHER_EXPORT
ArcaneLauncher
84
{
85
friend
StandaloneSubDomain
;
86
87
public
:
88
100
static
void
init(
const
CommandLineArguments
& args);
101
105
static
bool
isInitialized();
106
116
static
int
run();
117
124
static
int
run(std::function<
int
(
DirectExecutionContext
&)>
func
);
125
136
static
int
run(std::function<
int
(
DirectSubDomainExecutionContext
&)>
func
);
137
145
static
void
setDefaultMainFactory(
IMainFactory
*
mf
);
146
156
static
ApplicationInfo
& applicationInfo();
157
167
static
ApplicationBuildInfo
& applicationBuildInfo();
168
175
static
DotNetRuntimeInitialisationInfo
& dotNetRuntimeInitialisationInfo();
176
183
static
AcceleratorRuntimeInitialisationInfo
& acceleratorRuntimeInitialisationInfo();
184
186
static
String
getExeDirectory();
187
197
static
StandaloneAcceleratorMng
createStandaloneAcceleratorMng();
198
213
static
StandaloneSubDomain
createStandaloneSubDomain(
const
String
&
case_file_name
);
214
215
public
:
216
220
ARCCORE_DEPRECATED_2020(
"Use run(func) instead"
)
221
static
int
runDirect(std::function<
int
(
IDirectExecutionContext
*)>
func
);
222
226
ARCCORE_DEPRECATED_2020(
"Use init(args) instead"
)
227
static
void
setCommandLineArguments(const
CommandLineArguments
& args)
228
{
229
init(args);
230
}
231
232
private
:
233
234
static
void
_initStandalone();
235
static
void
_notifyRemoveStandaloneSubDomain();
236
};
237
238
/*---------------------------------------------------------------------------*/
239
/*---------------------------------------------------------------------------*/
240
241
}
// End namespace Arcane
242
243
/*---------------------------------------------------------------------------*/
244
/*---------------------------------------------------------------------------*/
245
246
#endif
Arcane::Accelerator::AcceleratorRuntimeInitialisationInfo
Informations pour l'initialisation des accélérateurs.
Definition
accelerator/core/AcceleratorRuntimeInitialisationInfo.h:34
Arcane::ApplicationBuildInfo
Informations pour construire une instance de IApplication.
Definition
ApplicationBuildInfo.h:32
Arcane::ApplicationInfo
Informations sur une application.
Definition
ApplicationInfo.h:40
Arcane::ArcaneLauncher
Classe de gestion de l'exécution.
Definition
ArcaneLauncher.h:84
Arcane::CommandLineArguments
Arguments de la ligne de commande.
Definition
CommandLineArguments.h:49
Arcane::DirectExecutionContext
Contexte d'exécution directe.
Definition
DirectExecutionContext.h:33
Arcane::DirectSubDomainExecutionContext
Contexte d'exécution directe avec création d'un sous-domaine.
Definition
DirectSubDomainExecutionContext.h:32
Arcane::DotNetRuntimeInitialisationInfo
Informations pour l'initialisation du runtime '.Net'.
Definition
DotNetRuntimeInitialisationInfo.h:32
Arcane::IDirectExecutionContext
Implémentation de la classe de gestion de l'exécution.
Definition
IDirectExecutionContext.h:33
Arcane::IMainFactory
Manufacture des classes d'Arcane.
Definition
IMainFactory.h:93
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
Arcane::StandaloneAcceleratorMng
Implémentation autonome de 'IAcceleratorMng.h'.
Definition
StandaloneAcceleratorMng.h:42
Arcane::StandaloneSubDomain
Implémentation autonome d'un sous-domaine.
Definition
StandaloneSubDomain.h:41
Arccore::String
Chaîne de caractères unicode.
Definition
arccore/src/base/arccore/base/String.h:70
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AcceleratorGlobal.h:36
arcane
launcher
ArcaneLauncher.h
Généré le Lundi 18 Novembre 2024 03:01:36 pour Arcane par
1.9.8