Classe d'encapsulation des fonctions de la librairie OTF2. Plus de détails...
#include <arcane/std/Otf2LibWrapper.h>
Classes | |
struct | EntryPointId |
struct | InternalIds |
Fonctions membres publiques | |
Otf2LibWrapper (ISubDomain *sub_domain) | |
Constructeur. | |
~Otf2LibWrapper () | |
Destructeur. | |
void | init (const String &archive_name) |
Methode d'initialisation. Permet de definir le chemin ou va se trouver l'archive ainsi que son nom. | |
void | finalize () |
Methode a appeler pour finaliser la creation de l'archive (i.e. on ne veut plus enregistrer plus d'evenements) | |
OTF2_EvtWriter * | getEventWriter () |
uint32_t | getEntryPointId (const String &ep_name) const |
Helper pour l'id d'un point d'entree via son nom. | |
uint32_t | getApplicationNameId () const |
Helper sur le nom de l'application. | |
uint32_t | getSynchronizeId () const |
Helper sur la chaine de charactere "syncrhonize". | |
int | getMpiRank () const |
Helper sur le numero de rank MPI. | |
int | getMpiNbRank () const |
Helper sur le nombre de rank MPI. | |
Fonctions membres publiques statiques | |
static OTF2_TimeStamp | getTime () |
Méthode interne statique pour recuperer le timestamp. | |
Fonctions membres privées | |
void | _createOtf2Ids () |
void | _buildOtf2ClockAndStringDefinition (uint64_t global_start_time, uint64_t global_end_time) |
void | _buildOtf2ParadigmAndSystemDefinition () |
void | _buildOtf2LocationDefinition () |
Methode interne pour ecrire la definition du systeme associee a l'archive otf2. | |
void | _buildOtf2RegionDefinition () |
void | _buildOtf2GroupAndCommDefinition () |
Fonctions membres privées statiques | |
static OTF2_FlushType | _preFlush (void *user_data, OTF2_FileType file_type, OTF2_LocationRef location, void *caller_data, bool final) |
Méthode interne statique pour positionner la callback a appeler avant l'evenement a enregistrer. | |
static OTF2_TimeStamp | _postFlush (void *user_data, OTF2_FileType file_type, OTF2_LocationRef location) |
Méthode interne statique pour positionner la callback a appeler apres l'evenement a enregistrer. | |
Attributs privés | |
ISubDomain * | m_sub_domain = nullptr |
OTF2_Archive * | m_archive = nullptr |
OTF2_FlushCallbacks | m_flush_callbacks |
OTF2_EvtWriter * | m_evt_writer = nullptr |
uint64_t | m_evt_nb = 0 |
OTF2_GlobalDefWriter * | m_global_def_writer = nullptr |
InternalIds | m_id |
std::vector< uint64_t > | m_comm_members |
Attributs privés statiques | |
static uint64_t | s_epoch_start = 0 |
Static member. | |
Classe d'encapsulation des fonctions de la librairie OTF2.
Définition à la ligne 35 du fichier Otf2LibWrapper.h.
Arcane::Otf2LibWrapper::Otf2LibWrapper | ( | ISubDomain * | sub_domain | ) |
Constructeur.
Définition à la ligne 50 du fichier Otf2LibWrapper.cc.
Références _postFlush(), et _preFlush().
Arcane::Otf2LibWrapper::~Otf2LibWrapper | ( | ) |
Destructeur.
Définition à la ligne 61 du fichier Otf2LibWrapper.cc.
|
private |
Methode interne de creation de l'ensemble des chaines de caractres utilisees dans les definitions necessaires pour l'archive OTF2. Doit etre appelee au debut de l'archivage
Définition à la ligne 336 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::application(), Arccore::Platform::getHostName(), Arcane::ISubDomain::nbSubDomain(), Arcane::ISubDomain::parallelMng(), et Arcane::ISubDomain::timeLoopMng().
Référencé par finalize().
|
private |
Methode interne pour definir les regions a associer aux events otf2 Doit etre appelee en fin d'archivage C'est cette methode qui ecrit effectivement les infos dans le fichier de def
Définition à la ligne 795 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::nbSubDomain(), et Arcane::ISubDomain::parallelMng().
Référencé par finalize().
|
private |
Methode interne pour ecrire la definition du systeme associee a l'archive otf2.
Définition à la ligne 537 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::nbSubDomain(), et Arcane::ISubDomain::parallelMng().
Référencé par finalize().
|
private |
Methode interne pour definir les regions a associer aux events otf2 Doit etre appelee en fin d'archivage
Définition à la ligne 512 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::parallelMng().
Référencé par finalize().
|
private |
Methode interne pour definir les regions a associer aux events otf2 Doit etre appelee en fin d'archivage
Définition à la ligne 571 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::parallelMng().
Référencé par finalize().
|
private |
Methode interne de creation des identifiants de nommage pour les definitions necessaires a l'archive OTF2. Doit etre appelee a l'init
Définition à la ligne 281 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::nbSubDomain(), et Arcane::ISubDomain::timeLoopMng().
Référencé par init().
|
staticprivate |
Méthode interne statique pour positionner la callback a appeler apres l'evenement a enregistrer.
Définition à la ligne 267 du fichier Otf2LibWrapper.cc.
Références getTime().
Référencé par Otf2LibWrapper().
|
staticprivate |
Méthode interne statique pour positionner la callback a appeler avant l'evenement a enregistrer.
Définition à la ligne 252 du fichier Otf2LibWrapper.cc.
Référencé par Otf2LibWrapper().
void Arcane::Otf2LibWrapper::finalize | ( | ) |
Methode a appeler pour finaliser la creation de l'archive (i.e. on ne veut plus enregistrer plus d'evenements)
Définition à la ligne 133 du fichier Otf2LibWrapper.cc.
Références _buildOtf2ClockAndStringDefinition(), _buildOtf2GroupAndCommDefinition(), _buildOtf2LocationDefinition(), _buildOtf2ParadigmAndSystemDefinition(), _buildOtf2RegionDefinition(), getTime(), et Arcane::ISubDomain::parallelMng().
uint32_t Arcane::Otf2LibWrapper::getApplicationNameId | ( | ) | const |
Helper sur le nom de l'application.
Définition à la ligne 221 du fichier Otf2LibWrapper.cc.
Helper pour l'id d'un point d'entree via son nom.
Définition à la ligne 191 du fichier Otf2LibWrapper.cc.
Références ARCANE_FATAL.
OTF2_EvtWriter * Arcane::Otf2LibWrapper::getEventWriter | ( | ) |
Accesseur sur le otf2 event writer interne. Incremente un compteur d'evenement interne a chaque appel.
Définition à la ligne 181 du fichier Otf2LibWrapper.cc.
Référencé par Arcane::Otf2MpiProfiling::allGather(), Arcane::Otf2MpiProfiling::allGatherVariable(), Arcane::Otf2MpiProfiling::allReduce(), Arcane::Otf2MpiProfiling::allToAll(), Arcane::Otf2MpiProfiling::allToAllVariable(), Arcane::Otf2MpiProfiling::barrier(), Arcane::Otf2MpiProfiling::broadcast(), Arcane::Otf2MpiProfiling::gather(), Arcane::Otf2MpiProfiling::gatherVariable(), Arcane::Otf2MpiProfiling::iSend(), Arcane::Otf2MpiProfiling::recv(), Arcane::Otf2MpiProfiling::reduce(), Arcane::Otf2MpiProfiling::scan(), Arcane::Otf2MpiProfiling::scatterVariable(), Arcane::Otf2MpiProfiling::send(), et Arcane::Otf2MpiProfiling::test().
int Arcane::Otf2LibWrapper::getMpiNbRank | ( | ) | const |
Helper sur le nombre de rank MPI.
Définition à la ligne 212 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::nbSubDomain().
Référencé par Arcane::Otf2MpiProfiling::allGather(), Arcane::Otf2MpiProfiling::allGatherVariable(), Arcane::Otf2MpiProfiling::gatherVariable(), et Arcane::Otf2MpiProfiling::scatterVariable().
int Arcane::Otf2LibWrapper::getMpiRank | ( | ) | const |
Helper sur le numero de rank MPI.
Définition à la ligne 203 du fichier Otf2LibWrapper.cc.
Références Arcane::ISubDomain::subDomainId().
Référencé par Arcane::Otf2MpiProfiling::broadcast(), Arcane::Otf2MpiProfiling::gather(), Arcane::Otf2MpiProfiling::gatherVariable(), et Arcane::Otf2MpiProfiling::scatterVariable().
uint32_t Arcane::Otf2LibWrapper::getSynchronizeId | ( | ) | const |
Helper sur la chaine de charactere "syncrhonize".
Définition à la ligne 230 du fichier Otf2LibWrapper.cc.
|
static |
Méthode interne statique pour recuperer le timestamp.
Définition à la ligne 239 du fichier Otf2LibWrapper.cc.
Références s_epoch_start.
Référencé par _postFlush(), Arcane::Otf2MpiProfiling::allGather(), Arcane::Otf2MpiProfiling::allGatherVariable(), Arcane::Otf2MpiProfiling::allReduce(), Arcane::Otf2MpiProfiling::allToAll(), Arcane::Otf2MpiProfiling::allToAllVariable(), Arcane::Otf2MpiProfiling::barrier(), Arcane::Otf2MpiProfiling::broadcast(), finalize(), Arcane::Otf2MpiProfiling::gather(), Arcane::Otf2MpiProfiling::gatherVariable(), init(), Arcane::Otf2MpiProfiling::iSend(), Arcane::Otf2MpiProfiling::recv(), Arcane::Otf2MpiProfiling::reduce(), Arcane::Otf2MpiProfiling::scan(), Arcane::Otf2MpiProfiling::scatterVariable(), Arcane::Otf2MpiProfiling::send(), et Arcane::Otf2MpiProfiling::test().
Methode d'initialisation. Permet de definir le chemin ou va se trouver l'archive ainsi que son nom.
Définition à la ligne 72 du fichier Otf2LibWrapper.cc.
Références _createOtf2Ids(), ARCANE_FATAL, getTime(), Arcane::ISubDomain::listingDirectory(), Arcane::ISubDomain::nbSubDomain(), Arcane::ISubDomain::parallelMng(), s_epoch_start, et Arcane::ISubDomain::subDomainId().
|
private |
Définition à la ligne 110 du fichier Otf2LibWrapper.h.
|
private |
Définition à la ligne 117 du fichier Otf2LibWrapper.h.
|
private |
Définition à la ligne 113 du fichier Otf2LibWrapper.h.
|
private |
Définition à la ligne 112 du fichier Otf2LibWrapper.h.
|
private |
Définition à la ligne 111 du fichier Otf2LibWrapper.h.
|
private |
Définition à la ligne 114 du fichier Otf2LibWrapper.h.
|
private |
Définition à la ligne 116 du fichier Otf2LibWrapper.h.
|
private |
Définition à la ligne 109 du fichier Otf2LibWrapper.h.
|
staticprivate |
Static member.
Définition à la ligne 115 du fichier Otf2LibWrapper.h.