Arcane
v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
StandaloneAcceleratorMng.cc
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2025 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
/* Implémentation autonome (sans IApplication) de '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
class
StandaloneAcceleratorMng::Impl
34
{
35
public
:
36
Impl()
37
{
38
MainFactory
main_factory;
39
m_trace_mng =
makeRef<ITraceMng>
(main_factory.
createTraceMng
());
40
m_accelerator_mng = main_factory.
createAcceleratorMngRef
(m_trace_mng.get());
41
}
42
public
:
43
Ref<ITraceMng>
m_trace_mng;
44
Ref<IAcceleratorMng>
m_accelerator_mng;
45
};
46
47
/*---------------------------------------------------------------------------*/
48
/*---------------------------------------------------------------------------*/
49
50
StandaloneAcceleratorMng::
51
StandaloneAcceleratorMng()
52
: m_p(
makeRef
(new
Impl
()))
53
{
54
m_p->m_accelerator_mng->initialize(
ArcaneLauncher::acceleratorRuntimeInitialisationInfo
());
55
}
56
57
/*---------------------------------------------------------------------------*/
58
/*---------------------------------------------------------------------------*/
59
60
ITraceMng
*
StandaloneAcceleratorMng::
61
traceMng
()
const
62
{
63
return
m_p->m_trace_mng.get();
64
}
65
66
/*---------------------------------------------------------------------------*/
67
/*---------------------------------------------------------------------------*/
68
69
IAcceleratorMng
*
StandaloneAcceleratorMng::
70
acceleratorMng
()
const
71
{
72
return
m_p->m_accelerator_mng.get();
73
}
74
75
/*---------------------------------------------------------------------------*/
76
/*---------------------------------------------------------------------------*/
77
78
}
// End namespace Arcane
79
80
/*---------------------------------------------------------------------------*/
81
/*---------------------------------------------------------------------------*/
Arcane::Accelerator::IAcceleratorMng
Interface du gestionnaire des accélérateurs.
Definition
IAcceleratorMng.h:38
Arcane::ArcaneLauncher::acceleratorRuntimeInitialisationInfo
static AcceleratorRuntimeInitialisationInfo & acceleratorRuntimeInitialisationInfo()
Informations pour l'initialisation des accélerateurs.
Definition
ArcaneLauncher.cc:142
Arcane::ITraceMng
Interface du gestionnaire de traces.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:156
Arcane::MainFactory
Manufacture des classes d'Arcane.
Definition
MainFactory.h:53
Arcane::MainFactory::createTraceMng
ITraceMng * createTraceMng() override
Créé un gestionnaire de trace.
Definition
MainFactory.cc:421
Arcane::MainFactory::createAcceleratorMngRef
Ref< IAcceleratorMng > createAcceleratorMngRef(ITraceMng *tm) override
Créé un gestionnaire pour les accélérateurs.
Definition
MainFactory.cc:412
Arcane::Ref
Référence à une instance.
Definition
arccore/src/base/arccore/base/Ref.h:143
Arcane::StandaloneAcceleratorMng::Impl
Definition
StandaloneAcceleratorMng.cc:34
Arcane::StandaloneAcceleratorMng::traceMng
ITraceMng * traceMng() const
Gestionnaire de trace associé.
Definition
StandaloneAcceleratorMng.cc:61
Arcane::StandaloneAcceleratorMng::acceleratorMng
IAcceleratorMng * acceleratorMng() const
Gestionnaire des accélérateurs associé.
Definition
StandaloneAcceleratorMng.cc:70
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AcceleratorGlobal.h:36
Arcane::makeRef
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Créé une référence sur un pointeur.
Definition
arccore/src/base/arccore/base/Ref.h:356
arcane
launcher
StandaloneAcceleratorMng.cc
Généré le Lundi 31 Mars 2025 02:53:07 pour Arcane par
1.13.2