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;
78 Ref<RunQueue> m_default_queue_ref;
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();
103extern "C++" ARCANE_ACCELERATOR_CORE_EXPORT Ref<IAcceleratorMng>
104arcaneCreateAcceleratorMngRef(
ITraceMng* tm)
#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.
Encapsulation d'un pointeur qui se détruit automatiquement.
Interface du gestionnaire de traces.
Classe d'accès aux traces.
ITraceMng * traceMng() const
Gestionnaire de trace.
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.