diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2017-10-31 17:59:17 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | ce58a9f8f8504c165ca4527bfd991a4029437cba (patch) | |
tree | c4360d11603912aa2e1915e5c25e42062218aaa5 /tests/framework/instruments/PMUCounter.h | |
parent | 82afedf2598c8fc5a428ecbd729dd8204b46fd43 (diff) | |
download | ComputeLibrary-ce58a9f8f8504c165ca4527bfd991a4029437cba.tar.gz |
COMPMID-622 Let the user choose the units for the instruments
Change-Id: Ic6ac4cd6df6970593a5e2e6310b6d61951c88898
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93887
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'tests/framework/instruments/PMUCounter.h')
-rw-r--r-- | tests/framework/instruments/PMUCounter.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/framework/instruments/PMUCounter.h b/tests/framework/instruments/PMUCounter.h index 7beb6d931d..e1b9433eda 100644 --- a/tests/framework/instruments/PMUCounter.h +++ b/tests/framework/instruments/PMUCounter.h @@ -37,6 +37,27 @@ namespace framework class PMUCounter : public Instrument { public: + PMUCounter(ScaleFactor scale_factor) + { + switch(scale_factor) + { + case ScaleFactor::NONE: + _scale_factor = 1; + _unit = ""; + break; + case ScaleFactor::SCALE_1K: + _scale_factor = 1000; + _unit = "K "; + break; + case ScaleFactor::SCALE_1M: + _scale_factor = 1000000; + _unit = "M "; + break; + default: + ARM_COMPUTE_ERROR("Invalid scale"); + } + }; + std::string id() const override; void start() override; void stop() override; @@ -47,6 +68,7 @@ private: PMU _pmu_instructions{ PERF_COUNT_HW_INSTRUCTIONS }; long long _cycles{ 0 }; long long _instructions{ 0 }; + int _scale_factor{}; }; } // namespace framework } // namespace test |