Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::PapiPerformanceService

Service de profiling utilisant la bibliothèque PAPI. Plus de détails...

#include <arcane/std/PapiPerformanceService.h>

+ Graphe d'héritage de Arcane::PapiPerformanceService:
+ Graphe de collaboration de Arcane::PapiPerformanceService:

Fonctions membres publiques

 PapiPerformanceService (const ServiceBuildInfo &sbi)
 
void initialize () override
 Initialise le service de profiling.
 
bool isInitialized () const override
 Indique si initialize() a déjà été appelé
 
void startProfiling () override
 Démarre un profiling.
 
void switchEvent () override
 
void stopProfiling () override
 Stoppe le profiling.
 
void printInfos (bool dump_file) override
 Affiche les infos de profiling.
 
void getInfos (Int64Array &) override
 
void dumpJSON (JSONWriter &writer) override
 Ecrit les infos de profiling dans l'écrivain writer.
 
void reset () override
 Remet à zéro les compteurs.
 
ITimerMngtimerMng () override
 Timer utilisant les fonctionnalités de ce service si elles existent. Peut être nul.
 
- Fonctions membres publiques hérités de Arcane::AbstractService
virtual ~AbstractService ()
 Destructeur.
 
virtual void build ()
 Construction de niveau build du service.
 
virtual IServiceInfoserviceInfo () const
 Accès aux informations du service.
 
virtual IBaseserviceParent () const
 Accès à l'interface de base des principaux objets Arcane.
 
virtual IServiceserviceInterface ()
 Retourne l'interface bas niveau IService du service.
 
- Fonctions membres publiques hérités de Arccore::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 
- Fonctions membres publiques hérités de Arcane::IService
virtual ~IService ()
 Libère les ressources.
 

Fonctions membres privées

void _printFlops ()
 
bool _addEvent (int event_code, int event_index)
 

Fonctions membres privées statiques

static void arcane_papi_handler (int EventSet, void *address, long_long overflow_vector, void *context)
 

Attributs privés

int m_period = 0
 
int m_event_set = 0
 
bool m_only_flops = false
 
bool m_is_running = false
 
bool m_is_initialized = false
 
ITimerMngm_timer_mng = nullptr
 
IApplicationm_application = nullptr
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::AbstractService
 AbstractService (const ServiceBuildInfo &)
 Constructeur à partir d'un ServiceBuildInfo.
 
- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 
- Fonctions membres protégées hérités de Arcane::IService
 IService ()
 Constructeur.
 

Description détaillée

Service de profiling utilisant la bibliothèque PAPI.

Définition à la ligne 34 du fichier PapiPerformanceService.h.

Documentation des constructeurs et destructeur

◆ PapiPerformanceService()

Arcane::PapiPerformanceService::PapiPerformanceService ( const ServiceBuildInfo sbi)
explicit

Définition à la ligne 77 du fichier PapiPerformanceService.cc.

◆ ~PapiPerformanceService()

Arcane::PapiPerformanceService::~PapiPerformanceService ( )
override

Définition à la ligne 89 du fichier PapiPerformanceService.cc.

Documentation des fonctions membres

◆ _addEvent()

bool Arcane::PapiPerformanceService::_addEvent ( int  event_code,
int  event_index 
)
private

Définition à la ligne 137 du fichier PapiPerformanceService.cc.

◆ _printFlops()

void Arcane::PapiPerformanceService::_printFlops ( )
private

Définition à la ligne 306 du fichier PapiPerformanceService.cc.

◆ arcane_papi_handler()

void Arcane::PapiPerformanceService::arcane_papi_handler ( int  EventSet,
void address,
long_long  overflow_vector,
void context 
)
staticprivate

Définition à la ligne 107 du fichier PapiPerformanceService.cc.

◆ dumpJSON()

void Arcane::PapiPerformanceService::dumpJSON ( JSONWriter writer)
overridevirtual

Ecrit les infos de profiling dans l'écrivain writer.

Implémente Arcane::IProfilingService.

Définition à la ligne 371 du fichier PapiPerformanceService.cc.

◆ getInfos()

void Arcane::PapiPerformanceService::getInfos ( Int64Array array)
overridevirtual

Implémente Arcane::IProfilingService.

Définition à la ligne 381 du fichier PapiPerformanceService.cc.

◆ initialize()

void Arcane::PapiPerformanceService::initialize ( )
overridevirtual

Initialise le service de profiling.

Cette méthode ne peut être appelée qu'une seule fois.

Implémente Arcane::IProfilingService.

Définition à la ligne 156 du fichier PapiPerformanceService.cc.

Références ARCANE_FATAL.

◆ isInitialized()

bool Arcane::PapiPerformanceService::isInitialized ( ) const
inlineoverridevirtual

Indique si initialize() a déjà été appelé

Réimplémentée à partir de Arcane::IProfilingService.

Définition à la ligne 46 du fichier PapiPerformanceService.h.

◆ printInfos()

void Arcane::PapiPerformanceService::printInfos ( bool  dump_file)
overridevirtual

Affiche les infos de profiling.

Le profiling doit être arrêté. Si dump_file est vrai, des sorties fichiers contenant les infos sont générées ce qui peut prendre du temps.

Implémente Arcane::IProfilingService.

Définition à la ligne 361 du fichier PapiPerformanceService.cc.

◆ reset()

void Arcane::PapiPerformanceService::reset ( )
overridevirtual

Remet à zéro les compteurs.

Le profiling doit être arrêté pour cela.

Implémente Arcane::IProfilingService.

Définition à la ligne 391 du fichier PapiPerformanceService.cc.

◆ startProfiling()

void Arcane::PapiPerformanceService::startProfiling ( )
overridevirtual

Démarre un profiling.

Implémente Arcane::IProfilingService.

Définition à la ligne 279 du fichier PapiPerformanceService.cc.

Références ARCANE_CHECK_POINTER, et ARCANE_FATAL.

◆ stopProfiling()

void Arcane::PapiPerformanceService::stopProfiling ( )
overridevirtual

Stoppe le profiling.

Implémente Arcane::IProfilingService.

Définition à la ligne 335 du fichier PapiPerformanceService.cc.

Références ARCANE_FATAL.

◆ switchEvent()

void Arcane::PapiPerformanceService::switchEvent ( )
overridevirtual

Implémente Arcane::IProfilingService.

Définition à la ligne 298 du fichier PapiPerformanceService.cc.

◆ timerMng()

ITimerMng * Arcane::PapiPerformanceService::timerMng ( )
overridevirtual

Timer utilisant les fonctionnalités de ce service si elles existent. Peut être nul.

Implémente Arcane::IProfilingService.

Définition à la ligne 558 du fichier PapiPerformanceService.cc.

Documentation des données membres

◆ m_application

IApplication* Arcane::PapiPerformanceService::m_application = nullptr
private

Définition à la ligne 64 du fichier PapiPerformanceService.h.

◆ m_event_set

int Arcane::PapiPerformanceService::m_event_set = 0
private

Définition à la ligne 59 du fichier PapiPerformanceService.h.

◆ m_is_initialized

bool Arcane::PapiPerformanceService::m_is_initialized = false
private

Définition à la ligne 62 du fichier PapiPerformanceService.h.

◆ m_is_running

bool Arcane::PapiPerformanceService::m_is_running = false
private

Définition à la ligne 61 du fichier PapiPerformanceService.h.

◆ m_only_flops

bool Arcane::PapiPerformanceService::m_only_flops = false
private

Définition à la ligne 60 du fichier PapiPerformanceService.h.

◆ m_period

int Arcane::PapiPerformanceService::m_period = 0
private

Définition à la ligne 58 du fichier PapiPerformanceService.h.

◆ m_timer_mng

ITimerMng* Arcane::PapiPerformanceService::m_timer_mng = nullptr
private

Définition à la ligne 63 du fichier PapiPerformanceService.h.


La documentation de cette classe a été générée à partir des fichiers suivants :