20#ifndef _PORTABLE_PERF_ANALYZER_HH
21#define _PORTABLE_PERF_ANALYZER_HH
26template <
class Action>
30 MESSAGE(
"Portable_Perf_Analyzer Ctor");
33 INFOS(
"Copy Ctor not implemented");
37 MESSAGE(
"Portable_Perf_Analyzer Dtor");
68 for (
int i=1;
i<NB_TRIES; ++
i)
75 time_action = time_action / (double(_nb_calc));
77 action.check_result();
81 for (
int i=1;
i<NB_TRIES; ++
i)
82 time_baseline = std::min(time_baseline,
time_init(action));
83 time_baseline = time_baseline/(double(_nb_init));
90 time_action = time_action - time_baseline;
94 return action.nb_op_base()/(time_action*1000000.0);
101 for (
int ii=0; ii<_nb_init; ii++)
112 for (
int ii=0;ii<_nb_calc;ii++)
128 unsigned long long _nb_calc;
129 unsigned long long _nb_init;
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
Definition portable_perf_analyzer.hh:28
unsigned long long get_nb_calc(void)
Definition portable_perf_analyzer_old.hh:121
double eval_mflops(int size)
Definition portable_perf_analyzer_old.hh:42
double time_init(Action &action)
Definition portable_perf_analyzer_old.hh:97
Portable_Perf_Analyzer(const Portable_Perf_Analyzer &)
Definition portable_perf_analyzer_old.hh:32
BTL_DONT_INLINE double time_calculate(Action &action)
Definition portable_perf_analyzer.hh:76
~Portable_Perf_Analyzer(void)
Definition portable_perf_analyzer_old.hh:36
Portable_Perf_Analyzer(void)
Definition portable_perf_analyzer_old.hh:29
double time_calculate(Action &action)
Definition portable_perf_analyzer_old.hh:108
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