14#include "arccore/common/accelerator/IAcceleratorMng.h"
16#include "arccore/trace/TraceAccessor.h"
17#include "arccore/base/FatalErrorException.h"
20#include "arccore/common/accelerator/Runner.h"
21#include "arccore/common/accelerator/RunQueue.h"
23#include "arcane/accelerator/core/AcceleratorRuntimeInitialisationInfo.h"
30#define CHECK_HAS_INIT() \
32 ARCANE_FATAL("Invalid call because IAcceleratorMng::initialized() has not been called")
63 return m_default_runner_ref.get();
68 return m_default_queue_ref.get();
72 return m_default_runner;
78 std::unique_ptr<Runner> m_default_runner_ref;
82 bool m_has_init =
false;
92 ARCANE_FATAL(
"Method initialize() has already been called");
97 m_default_runner_ref = std::make_unique<Runner>(m_default_runner);
99 m_default_queue = *m_default_queue_ref.get();
106arcaneCreateAcceleratorMngRef(
ITraceMng* tm)
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Gestion des références à une classe C++.
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.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
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.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.