Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ExecutionStatsDumper.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/* ExecutionStatsDumper.h (C) 2000-2024 */
9/* */
10/* Ecriture des statistiques d'exécution. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_EXECUTIONSTATSDUMPER_H
13#define ARCANE_IMPL_EXECUTIONSTATSDUMPER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18
19#include "arcane/ArcaneTypes.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26namespace impl
27{
28class AcceleratorStatInfoList;
29}
30
31class ISimpleTableOutput;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
42: public TraceAccessor
43{
44 public:
45
46 explicit ExecutionStatsDumper(ITraceMng* trace)
47 : TraceAccessor(trace)
48 {}
49
50 public:
51
52 void dumpStats(ISubDomain* sd, ITimeStats* time_stats);
53
54 private:
55
56 void _dumpProfiling(std::ostream& o);
57 void _dumpOneLoopListStat(std::ostream& o, const impl::ForLoopStatInfoList& stat_list);
58 void _printGlobalLoopInfos(std::ostream& o, const impl::ForLoopCumulativeStat& cumulative_stat);
59 void _dumpProfilingJSON(const String& filename);
60 void _dumpProfilingJSON(JSONWriter& json_writer);
61 void _dumpProfilingTable(ISimpleTableOutput* table);
62};
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
66
67} // End namespace Arcane
68
69/*---------------------------------------------------------------------------*/
70/*---------------------------------------------------------------------------*/
71
72#endif
Ecriture des statistiques d'exécution.
Interface représentant une sortie de tableau simple.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Interface gérant les statistiques sur les temps d'exécution.
Definition ITimeStats.h:48
Ecrivain au format JSON.
Definition JSONWriter.h:33
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Statistiques cumulées sur le nombre de boucles exécutées.
Statistiques d'exécution des boucles.
Definition Profiling.h:56
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-