Arcane  v4.1.7.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Initializer.h
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/* Initializer.h (C) 2000-2026 */
9/* */
10/* Classe pour initialiser le runtime accélérateur. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_ACCELERATOR_INTERNAL_INITIALIZER_H
13#define ARCCORE_ACCELERATOR_INTERNAL_INITIALIZER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/accelerator/AcceleratorGlobal.h"
18
19#include "arccore/trace/ITraceMng.h"
20
21#include "arccore/common/ArccoreApplicationBuildInfo.h"
22#include "arccore/concurrency/internal/ConcurrencyApplication.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane::Accelerator
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
36class ARCCORE_ACCELERATOR_EXPORT Initializer
37{
38 public:
39
40 Initializer(bool use_accelerator, Int32 max_allowed_thread);
41 ~Initializer() noexcept(false);
42
43 public:
44
45 Initializer(const Initializer&) = delete;
46 Initializer(Initializer&&) = delete;
47 Initializer& operator=(const Initializer&) = delete;
48 Initializer& operator=(Initializer&&) = delete;
49
50 public:
51
52 eExecutionPolicy executionPolicy() const { return m_policy; }
53 ITraceMng* traceMng() const { return m_trace_mng.get(); }
54
55 private:
56
59 ArccoreApplicationBuildInfo m_application_build_info;
60 ConcurrencyApplication m_concurrency_application;
61};
62
63/*---------------------------------------------------------------------------*/
64/*---------------------------------------------------------------------------*/
65
66} // namespace Arcane::Accelerator
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71#endif
Informations pour initialiser une application.
Interface du gestionnaire de traces.
Encapsulation d'un pointeur avec compteur de référence.
Espace de nom pour l'utilisation des accélérateurs.
eExecutionPolicy
Politique d'exécution pour un Runner.
@ Sequential
Politique d'exécution séquentielle.
std::int32_t Int32
Type entier signé sur 32 bits.