Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
AcceleratorInitializer.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* AcceleratorInitializer.cc (C) 2000-2026 */
9/* */
10/* Initializer for a runtime accelerator. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arccore/accelerator/AcceleratorInitializer.h"
15
16#include "arccore/accelerator/internal/Initializer.h"
17
18/*---------------------------------------------------------------------------*/
19/*---------------------------------------------------------------------------*/
20
21namespace Arcane::Accelerator
22{
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
29: m_initializer(std::make_unique<Initializer>(false, 1))
30{
31}
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35
37AcceleratorInitializer(bool use_accelerator, Int32 nb_thread)
38: m_initializer(std::make_unique<Initializer>(use_accelerator, nb_thread))
39{
40}
41
42/*---------------------------------------------------------------------------*/
43/*---------------------------------------------------------------------------*/
44
45AcceleratorInitializer::
46~AcceleratorInitializer()
47{
48 // The destructor must be here because the class 'm_initializer' is opaque
49 // and is not known in the header file
50}
51
52/*---------------------------------------------------------------------------*/
53/*---------------------------------------------------------------------------*/
54
57executionPolicy() const
58{
59 return m_initializer->executionPolicy();
60}
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
66traceMng() const
67{
68 return m_initializer->traceMng();
69}
70
71/*---------------------------------------------------------------------------*/
72/*---------------------------------------------------------------------------*/
73
74} // namespace Arcane::Accelerator
75
76/*---------------------------------------------------------------------------*/
77/*---------------------------------------------------------------------------*/
eExecutionPolicy executionPolicy() const
Default initialized execution policy.
ITraceMng * traceMng() const
Associated trace manager.
AcceleratorInitializer()
Initializes a sequential runtime.
Internal class to initialize the accelerator runtime.
Definition Initializer.h:38
eExecutionPolicy
Execution policy for a Runner.
std::int32_t Int32
Signed integer type of 32 bits.