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 "arccore/common/accelerator/AcceleratorRuntimeInitialisationInfo.h"
24#include "arccore/common/accelerator/internal/AcceleratorCoreGlobalInternal.h"
31#define CHECK_HAS_INIT() \
33 ARCCORE_FATAL("Invalid call because IAcceleratorMng::initialized() has not been called")
65 return m_default_runner_ref.get();
70 return m_default_queue_ref.get();
74 return m_default_runner;
80 std::unique_ptr<Runner> m_default_runner_ref;
84 bool m_has_init =
false;
96 Impl::arccoreInitializeRunner(m_default_runner,
traceMng(), runtime_info);
99 m_default_runner_ref = std::make_unique<Runner>(m_default_runner);
101 m_default_queue = *m_default_queue_ref.get();
108arccoreCreateAcceleratorMngRef(
ITraceMng* tm)
#define ARCCORE_FATAL(...)
Macro throwing a FatalErrorException.
Management of references to a C++ class.
Runner * defaultRunner() override
Default runner.
RunQueue * defaultQueue() override
Default run queue.
void initialize(const AcceleratorRuntimeInitialisationInfo &runtime_info) override
Initializes the instance.
bool isInitialized() const override
Indicates if the instance has been initialized via the call to initialize().
Runner runner() override
Runner associated with the instance.
RunQueue queue() override
Run queue associated with the instance.
Information for accelerator initialization.
Accelerator manager interface.
Execution queue for an accelerator.
Execution manager for accelerator.
Reference to an instance.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
ITraceMng * traceMng() const
Trace manager.
Namespace for accelerator usage.
Ref< RunQueue > makeQueueRef(const Runner &runner)
Creates a reference to a queue with the default execution policy of runner.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Creates a reference on a pointer.