travisdowns / freq-bench Goto Github PK
View Code? Open in Web Editor NEWFine-grained frequency and voltage transition tests
Fine-grained frequency and voltage transition tests
Resolved and programmed event 'cpu_clk_unhalted.thread' to cpu/config=0x3c/
R1 UT1 ZT1 index: 0x1 pmc_width=0x30 offset=0x7fffffffffff time_enabled=0x124f4 time_running=0x124f4 rdtsc=0x156224e9bceac57
Resolved and programmed event 'inst_retired.any' to cpu/config=0xc0/
R1 UT1 ZT1 index: 0x40000001 pmc_width=0x30 offset=0x7fffffffffff time_enabled=0x119d time_running=0x119d rdtsc=0x156224e9bd6376b
EventManager configured 2 events
terminate called after throwing an instance of 'std::runtime_error'
what(): MSR 408 read failed with error -2
scripts/data.sh: line 34: 18161 Aborted (core dumped) ./bench $test_name > "$TEMPDIR/temp.csv"
I have set the frequency of all cores to min=5100MHz and max=5100MHz at performance mode with the tool cpupower-gui.
Now the frequency of all the cores is show about 5100MHz in the tool s-tui.
And then I ran:
export MHZ=5100
./bench is OK.
scripts/data.sh is OK ( I need to change the EOL of all files inside the scripts folder to unix mode).
scripts/polt.sh is OK, but the max y-axis value or frequency value of the output diagrams is too low in my case.
how can I fix this problem?
Hey--I'm trying to build (on branch post1) using clang. (I'm on an odd system that has a truly ancient GCC.) Trying CC=clang CXX=clang make
I got the following errors (many repetitions of this; edited for concision.)
clang -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o basic-impls.o basic-impls.cpp <instantiation>:4:8: error: unexpected token in '.endr' directive .endr 4 ^ basic-impls.cpp:128:14: note: while in macro instantiation ALL_RATIOS_X(MAKE250ADD) ^ <inline asm>:2:2: note: instantiated into assembly here .rept 10 ^ <instantiation>:8:8: error: unexpected token in '.endr' directive .endr 4
This replicates with clang 7.0 and 9.0 on two systems. Anything else I can do to help you replicate the problem?
Thanks!
Compiler: gcc-10, gcc-9, clang-12, clang-7
OS: Ubuntu 20.04.2 LTS (GNU/Linux 5.11.7-051107-generic x86_64)
gcc:
make
cc -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o cycle-timer.o cycle-timer.c
cc -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o page-info.o page-info.c
cc -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o msr-access.o msr-access.c
cc -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o huge-alloc.o huge-alloc.c
g++ -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o tsc-support.o tsc-support.cpp
g++ -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o string-instrument.o string-instrument.cpp
In file included from string-instrument.hpp:12,
from string-instrument.cpp:1:
polymorphic_value.h: In instantiation of ‘jbcoe::polymorphic_value jbcoe::make_polymorphic_value(Ts&& ...) [with T = string_metrics::metric; U = string_metrics::double_holder; Ts = {}]’:
string-instrument.hpp:123:70: required from ‘T& string_metrics::Map::get(const string&) [with T = string_metrics::double_holder; std::string = std::__cxx11::basic_string]’
string-instrument.cpp:51:52: required from here
polymorphic_value.h:411:23: error: moving a local object in a return statement prevents copy elision [-Werror=pessimizing-move]
411 | return std::move(p);
| ^
polymorphic_value.h:411:23: note: remove ‘std::move’ call
polymorphic_value.h: In instantiation of ‘jbcoe::polymorphic_value jbcoe::make_polymorphic_value(Ts&& ...) [with T = string_metrics::metric; U = string_metrics::double_holder; Ts = {string_metrics::double_holder&}]’:
string-instrument.hpp:91:56: required from ‘static string_metrics::metric::ptr string_metrics::metric_base::make(Args&& ...) [with Args = {string_metrics::double_holder&}; T = string_metrics::double_holder; string_metrics::metric::ptr = jbcoe::polymorphic_value<string_metrics::metric>]’
string-instrument.hpp:68:20: required from ‘string_metrics::metric::ptr string_metrics::metric_base::delta(const ptr&) const [with T = string_metrics::double_holder; string_metrics::metric::ptr = jbcoe::polymorphic_value<string_metrics::metric>]’
string-instrument.hpp:64:17: required from here
polymorphic_value.h:411:23: error: moving a local object in a return statement prevents copy elision [-Werror=pessimizing-move]
polymorphic_value.h:411:23: note: remove ‘std::move’ call
cc1plus: all warnings being treated as errors
make: *** [Makefile:76: string-instrument.o] Error 1
clang:
make
clang-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o cycle-timer.o cycle-timer.c
clang-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o page-info.o page-info.c
clang-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o msr-access.o msr-access.c
clang-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -c -o huge-alloc.o huge-alloc.c
clang++-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o tsc-support.o tsc-support.cpp
clang++-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o string-instrument.o string-instrument.cpp
clang++-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o perf-timer-events.o perf-timer-events.cpp
clang++-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o perf-timer.o perf-timer.cpp
clang++-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o cpuid.o cpuid.cpp
clang++-7 -DNDEBUG -MMD -Wall -Wextra -Werror -O2 -g -march=haswell -Wno-unused-parameter -Wno-error=unused-variable -Wno-unknown-pragmas -std=c++14 -DENABLE_TIMER=1 -c -o impl-list.o impl-list.cpp
In file included from impl-list.cpp:1:
In file included from ./impl-list.hpp:4:
In file included from ./common-cxx.hpp:9:
./nonstd/span.hpp:742:16: error: no member named 'out_of_range' in namespace 'std'
throw std::out_of_range( "span::at(): index outside span" );
~~~~~^
1 error generated.
make: *** [Makefile:76: impl-list.o] Error 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.