14#include "./AlinaSamplesCommon.h"
16#include "arcane/utils/Exception.h"
17#include "arcane/utils/PlatformUtils.h"
18#include "arcane/launcher/ArcaneLauncher.h"
19#include "arcane/core/ISubDomain.h"
20#include "arcane/core/IParallelMng.h"
21#include "arcane/utils/ITraceMng.h"
22#include "arcane/utils/IProfilingService.h"
24#include "arccore/base/ConcurrencyBase.h"
29namespace Arcane::Alina
35int SampleMainContext::
36execMain(MainFunction f,
int argc,
char* argv[])
39 std::cerr <<
"Invalid null functor 'f'\n";
44 CommandLineArguments cmd_line_args(&argc, &argv);
48 ISubDomain* sd = launcher.subDomain();
49 ITraceMng* tm = sd->traceMng();
50 SampleMainContext ctx(tm, sd->acceleratorMng(), sd->parallelMng()->messagePassingMng());
53 ProfilingSentryWithInitialize ps_sentry(ps);
54 ps_sentry.setPrintAtEnd(
true);
55 (*f)(ctx, argc, argv);
static void init(const CommandLineArguments &args)
Positionne les informations à partir des arguments de la ligne de commande et initialise le lanceur.
static StandaloneSubDomain createStandaloneSubDomain(const String &case_file_name)
Créé une implémentation autonome pour gérer un sous-domaine.
static Int32 maxAllowedThread()
Nombre maximum de threads autorisés pour le multi-threading.
Integer arcaneCallFunctionAndCatchException(std::function< void()> function)