Arcane
4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
StandaloneAcceleratorMng.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
/* StandaloneStandaloneAcceleratorMng.cc (C) 2000-2025 */
9
/* */
10
/* Standalone implementation (without IApplication) of 'IAcceleratorMng.h'. */
11
/*---------------------------------------------------------------------------*/
12
/*---------------------------------------------------------------------------*/
13
14
#include "arcane/launcher/StandaloneAcceleratorMng.h"
15
16
#include "arcane/utils/Ref.h"
17
#include "arcane/utils/ITraceMng.h"
18
19
#include "arcane/impl/MainFactory.h"
20
21
#include "arcane/accelerator/core/IAcceleratorMng.h"
22
23
#include "arcane/AcceleratorRuntimeInitialisationInfo.h"
24
25
#include "arcane/launcher/ArcaneLauncher.h"
26
27
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
29
30
namespace
Arcane
31
{
32
33
/*---------------------------------------------------------------------------*/
34
/*---------------------------------------------------------------------------*/
35
36
class
StandaloneAcceleratorMng::Impl
37
{
38
public
:
39
40
Impl()
41
{
42
MainFactory
main_factory;
43
m_trace_mng =
makeRef<ITraceMng>
(main_factory.
createTraceMng
());
44
m_accelerator_mng = main_factory.
createAcceleratorMngRef
(m_trace_mng.get());
45
}
46
47
public
:
48
49
Ref<ITraceMng>
m_trace_mng;
50
Ref<IAcceleratorMng>
m_accelerator_mng;
51
};
52
53
/*---------------------------------------------------------------------------*/
54
/*---------------------------------------------------------------------------*/
55
56
StandaloneAcceleratorMng::
57
StandaloneAcceleratorMng()
58
: m_p(
makeRef
(new
Impl
()))
59
{
60
m_p->m_accelerator_mng->initialize(
ArcaneLauncher::acceleratorRuntimeInitialisationInfo
());
61
}
62
63
/*---------------------------------------------------------------------------*/
64
/*---------------------------------------------------------------------------*/
65
66
ITraceMng
*
StandaloneAcceleratorMng::
67
traceMng
()
const
68
{
69
return
m_p->m_trace_mng.get();
70
}
71
72
/*---------------------------------------------------------------------------*/
73
/*---------------------------------------------------------------------------*/
74
75
IAcceleratorMng
*
StandaloneAcceleratorMng::
76
acceleratorMng
()
const
77
{
78
return
m_p->m_accelerator_mng.get();
79
}
80
81
/*---------------------------------------------------------------------------*/
82
/*---------------------------------------------------------------------------*/
83
84
}
// End namespace Arcane
85
86
/*---------------------------------------------------------------------------*/
87
/*---------------------------------------------------------------------------*/
Arcane::Accelerator::IAcceleratorMng
Accelerator manager interface.
Definition
arccore/src/common/arccore/common/accelerator/IAcceleratorMng.h:39
Arcane::ArcaneLauncher::acceleratorRuntimeInitialisationInfo
static AcceleratorRuntimeInitialisationInfo & acceleratorRuntimeInitialisationInfo()
Information for accelerator initialization.
Definition
ArcaneLauncher.cc:152
Arcane::ITraceMng
Trace manager interface.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:175
Arcane::MainFactory
Creation of Arcane classes.
Definition
MainFactory.h:54
Arcane::MainFactory::createTraceMng
ITraceMng * createTraceMng() override
Creates a trace manager.
Definition
MainFactory.cc:421
Arcane::MainFactory::createAcceleratorMngRef
Ref< IAcceleratorMng > createAcceleratorMngRef(ITraceMng *tm) override
Creates a manager for accelerators.
Definition
MainFactory.cc:412
Arcane::Ref
Reference to an instance.
Definition
arccore/src/base/arccore/base/Ref.h:325
Arcane::StandaloneAcceleratorMng::Impl
Definition
StandaloneAcceleratorMng.cc:37
Arcane::StandaloneAcceleratorMng::traceMng
ITraceMng * traceMng() const
Associated trace manager.
Definition
StandaloneAcceleratorMng.cc:67
Arcane::StandaloneAcceleratorMng::acceleratorMng
IAcceleratorMng * acceleratorMng() const
Associated accelerator manager.
Definition
StandaloneAcceleratorMng.cc:76
Arcane
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition
arcane/src/arcane/accelerator/AcceleratorGlobal.h:37
Arcane::makeRef
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Creates a reference on a pointer.
Definition
arccore/src/base/arccore/base/Ref.h:425
arcane
launcher
StandaloneAcceleratorMng.cc
Generated on
for Arcane by
1.16.1