Arcane
v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
RunnerInternal.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2024 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
/* RunnerInternal.h (C) 2000-2024 */
9
/* */
10
/* API interne à Arcane de 'Runner'. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_ACCELERATOR_CORE_INTERNAL_RUNNERINTERNAL_H
13
#define ARCANE_ACCELERATOR_CORE_INTERNAL_RUNNERINTERNAL_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "
arcane/accelerator/core/AcceleratorCoreGlobal.h
"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
22
namespace
Arcane::Accelerator
23
{
24
25
/*---------------------------------------------------------------------------*/
26
/*---------------------------------------------------------------------------*/
27
28
class
ARCANE_ACCELERATOR_CORE_EXPORT
RunnerInternal
29
{
30
friend ::Arcane::Accelerator::Runner;
31
friend ::Arcane::Accelerator::impl::RunnerImpl;
32
33
private
:
34
35
explicit
RunnerInternal
(
impl::RunnerImpl
*
p
)
36
: m_runner_impl(
p
)
37
{}
38
39
public
:
40
42
static
void
stopAllProfiling();
43
49
static
void
finalize(
ITraceMng
*
tm
);
50
51
public
:
52
53
// Les méthodes suivantes qui gèrent le profiling agissent sur
54
// le runtime (CUDA, ROCM, ...) associé au runner. Par exemple si on
55
// a deux runners associés à CUDA, si on appelle startProfiling() pour l'un
56
// alors isProfilingActive() sera vrai pour le second runner.
57
59
bool
isProfilingActive();
61
void
startProfiling();
63
void
stopProfiling();
64
70
void
printProfilingInfos(std::ostream& o);
71
72
private
:
73
74
impl::RunnerImpl
* m_runner_impl =
nullptr
;
75
};
76
77
/*---------------------------------------------------------------------------*/
78
/*---------------------------------------------------------------------------*/
79
80
}
// namespace Arcane::Accelerator::impl
81
82
/*---------------------------------------------------------------------------*/
83
/*---------------------------------------------------------------------------*/
84
85
#endif
AcceleratorCoreGlobal.h
Arcane::Accelerator::RunnerInternal
Definition
RunnerInternal.h:29
Arcane::Accelerator::impl::RunnerImpl
Definition
RunnerImpl.h:63
Arcane::LimaWrapper
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition
Lima.cc:120
Arccore::ITraceMng
Interface du gestionnaire de traces.
Definition
arccore/src/trace/arccore/trace/ITraceMng.h:156
Arcane::Accelerator
Espace de nom pour l'utilisation des accélérateurs.
Definition
AcceleratorGlobal.h:36
arcane
accelerator
core
internal
RunnerInternal.h
Généré le Lundi 18 Novembre 2024 03:00:01 pour Arcane par
1.9.8