14#include "arcane/accelerator/core/IAcceleratorMng.h"
16#include "arcane/utils/TraceAccessor.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/Ref.h"
19#include "arcane/utils/ScopedPtr.h"
21#include "arcane/accelerator/core/Runner.h"
22#include "arcane/accelerator/core/RunQueue.h"
23#include "arcane/accelerator/core/AcceleratorRuntimeInitialisationInfo.h"
28#define CHECK_HAS_INIT() \
30 ARCANE_FATAL("Invalid call because IAcceleratorMng::initialized() has not been called")
61 return m_default_runner_ref.
get();
66 return m_default_queue_ref.
get();
70 return m_default_runner;
80 bool m_has_init =
false;
90 ARCANE_FATAL(
"Method initialize() has already been called");
95 m_default_runner_ref =
new Runner(m_default_runner);
97 m_default_queue = *m_default_queue_ref.
get();
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Gestionnaire des modules.
Runner * defaultRunner() override
Exécuteur par défaut.
RunQueue * defaultQueue() override
File d'exécution par défaut.
void initialize(const AcceleratorRuntimeInitialisationInfo &runtime_info) override
Initialise l'instance.
bool isInitialized() const override
Indique si l'instance a été initialisée via l'appel à initialize()
Runner runner() override
Exécuteur associé à l'instance.
RunQueue queue() override
File d'exécution associée à l'instance.
Informations pour l'initialisation des accélérateurs.
Interface du gestionnaire des accélérateurs.
File d'exécution pour un accélérateur.
Gestionnaire d'exécution pour accélérateur.
Interface du gestionnaire de traces.
Référence à une instance.
InstanceType * get() const
Instance associée ou nullptr si aucune.
Espace de nom pour l'utilisation des accélérateurs.
Ref< RunQueue > makeQueueRef(const Runner &runner)
Créé une référence sur file avec la politique d'exécution par défaut de runner.
void arcaneInitializeRunner(Accelerator::Runner &runner, ITraceMng *tm, const AcceleratorRuntimeInitialisationInfo &acc_info)
Initialise runner avec les informations de acc_info.