21#ifndef _PORTABLE_PERF_ANALYZER_HH
22#define _PORTABLE_PERF_ANALYZER_HH
27template <
class Action>
31 MESSAGE(
"Portable_Perf_Analyzer Ctor");
34 INFOS(
"Copy Ctor not implemented");
38 MESSAGE(
"Portable_Perf_Analyzer Dtor");
49 if(_nb_calc==0) _nb_calc = 1;
59 std::cout <<
" " << _action.nb_op_base()*_nb_calc/(m_time_action*1e6) <<
" ";
64 double time_action = m_time_action / (double(_nb_calc));
71 action.check_result();
73 return action.nb_op_base()/(time_action*1e6);
81 for (
unsigned int ii=0;ii<_nb_calc;ii++)
96 unsigned long long _nb_calc;
int i
Definition BiCGSTAB_step_by_step.cpp:9
Scalar Scalar int size
Definition benchVecAdd.cpp:17
#define MIN_TIME
Definition bench_parameter.hh:26
#define BTL_DONT_INLINE
Definition btl.hh:38
static BtlConfig Instance
Definition btl.hh:229
int tries
Definition btl.hh:233
Definition portable_perf_analyzer.hh:28
BTL_DONT_INLINE double eval_mflops(int size)
Definition portable_perf_analyzer.hh:41
Portable_Perf_Analyzer(const Portable_Perf_Analyzer &)
Definition portable_perf_analyzer.hh:33
BTL_DONT_INLINE double time_calculate(Action &action)
Definition portable_perf_analyzer.hh:76
~Portable_Perf_Analyzer()
Definition portable_perf_analyzer.hh:37
Portable_Perf_Analyzer()
Definition portable_perf_analyzer.hh:30
unsigned long long get_nb_calc()
Definition portable_perf_analyzer.hh:89
Definition portable_timer.hh:140
double user_time()
Definition portable_timer.hh:172
void start()
Definition portable_timer.hh:151
void stop()
Definition portable_timer.hh:159
#define INFOS(chain)
Definition utilities.h:22
#define MESSAGE(chain)
Definition utilities.h:76