10#include "arcane/IMesh.h"
11#include "arcane/IApplication.h"
12#include "arcane/IParallelMng.h"
13#include "arcane/ISubDomain.h"
14#include "arcane/IServiceLoader.h"
15#include "arcane/IServiceMng.h"
16#include "arcane/ServiceRegisterer.h"
17#include "arcane/IServiceFactory.h"
18#include "arcane/ServiceBuilder.h"
19#include "arcane/AbstractService.h"
21#include "arcane/utils/String.h"
23#include "arcane/utils/ITraceMng.h"
24#include "arcane/utils/IProfilingService.h"
25#include "arcane/utils/PlatformUtils.h"
27#include "arcane/std/ProfilingInfo.h"
30#ifdef ARCANE_HAS_PACKAGE_LIBUNWIND
38#if defined(ARCANE_OS_LINUX)
39#define ARCANE_CHECK_MEMORY_USE_MALLOC_HOOK
45#include <arcane/hyoda/Hyoda.h>
46#include <arcane/hyoda/HyodaArc.h>
47#include <arcane/hyoda/HyodaTcp.h>
48#include <arcane/hyoda/HyodaPapi.h>
59HyodaPapi(Hyoda *hd,IApplication *app,ITraceMng *tm):
68HyodaPapi::~HyodaPapi()
72 m_papi->stopProfiling();
73 debug()<<
"\33[7m[HyodaPapi::~HyodaPapi]\33[m";
79void HyodaPapi::initialize(ISubDomain *sd, HyodaTcp *tcp)
82 ServiceBuilder<IProfilingService> sb(m_app);
83 m_papi = sb.createInstance(
"PapiProfilingService", SB_AllowNull);
88 debug()<<
"\33[7m[HyodaPapi::HyodaPapi] PAPI INIitializes\33[m";
92void HyodaPapi::start(
void){
94 debug()<<
"\33[7m[HyodaPapi::HyodaPapi] PAPI STARTS profiling\33[m";
95 m_papi->startProfiling();
98void HyodaPapi::stop(
void){
100 debug()<<
"\33[7m[HyodaPapi::HyodaPapi] PAPI STOPS profiling\33[m";
101 m_papi->stopProfiling();
110void HyodaPapi::dump(
void){
113 pkt.add((
Int64)0xb80dd1a3ul);
116 m_papi->getInfos(pkt);
117 debug()<<
"\33[7m[HyodaPapi::dump] pkt size is "<<pkt.size()<<
"\33[m";
120 if (m_sub_domain->parallelMng()->commRank()!=0)
return;
121 m_tcp->send((
char*)pkt.unguardedBasePointer(), pkt.size()<<3);
122 m_tcp->waitForAcknowledgment();
Fichier de configuration d'Arcane.
Lecteur des fichiers de maillage via la bibliothèque LIMA.