Comments (6)
Hi, I havent used embench in a while and this lief import is more recent change but I would expect you just need to run something like pip install lief
.
For benchmarking speed, you want to take a look at the scripts in https://github.com/embench/embench-iot/tree/master/pylib. For example, to run the benchmarks on your native machine, I believe the required option is --target-module="native"
, the functions instructing the embench core how to run the benchmark code are then in https://github.com/embench/embench-iot/blob/master/pylib/run_native.py.
from embench-iot.
Thanks, installing lief with pip seemed to fix the size testing. For speed however, when I set it to use the module "run-native", I get the following results:
Benchmark Speed
aha-mont64
crc32
cubic
edn
huffbench
matmult-int
minver
nbody
nettle-aes
nettle-sha256
nsichneu
picojpeg
qrduino
sglib-combined
slre
st
statemate
ud
wikisort
ERROR: Failed to compute speed benchmarks
Looking into the log, I can see that for every single benchmark, the timing seems to be failing, like so:
**Warning: Failed to find timing
Args to subprocess:
sh '-c' 'time -p ./aha-mont64; echo RET=$?'
RET=126
./aha-mont64: ./aha-mont64: cannot execute binary file
real 0.00
user 0.00
sys 0.00
Warning: Failed to find timing
Args to subprocess:
sh '-c' 'time -p ./crc32; echo RET=$?'
RET=126
./crc32: ./crc32: cannot execute binary file
real 0.00
user 0.00
sys 0.00**
This goes on in the log for the remaining 17 benchmarks. Not sure exactly what the issue with the timing is.
from embench-iot.
the problem there is that to run on your native machine you also need to compile the benchmarks for that architecture (probably x86 and not rv32). Running natively is the easier bit and should work right away, running on some other target may be more complicated. Possibly https://github.com/embench/embench-iot/blob/master/pylib/run_gdbserver_sim.py could help you here, but I havent used that yet.
from embench-iot.
I gave run_gdbserver_sim a shot and the times are still coming up empty unfortunately. Taking a peek at the logs shows this:
Warning: Failed to find return code
Args to subprocess:
gdb -ex 'set confirm off' -ex 'set style enabled off' -ex 'set height 0' -ex 'file aha-mont64' -ex 'target remote | gdbserver -c ri5cy --stdin' -ex 'stepi' -e
x 'stepi' -ex 'load' -ex 'break start_trigger' -ex 'break stop_trigger' -ex 'break _exit' -ex 'jump *_start' -ex 'monitor cyclecount' -ex 'continue' -ex 'moni
tor cyclecount' -ex 'continue' -ex 'print $a0' -ex 'detach' -ex 'quit'
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-114.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Reading symbols from /home/acastaneda/envs/embench-iot/bd/src/aha-mont64/aha-mont64...(no debugging symbols found)...done.
Remote debugging using | gdbserver -c ri5cy --stdin
Breakpoint 1 at 0x104e8
Breakpoint 2 at 0x104ec
Breakpoint 3 at 0x10978
$1 = void
No symbol table is loaded. Use the "file" command.
sh: gdbserver: command not found
Remote communication error. Target disconnected.: Connection reset by peer.
The program is not being run.
The program is not being run.
You can't do that when your target is `exec'
The program is not being run.
"monitor" command not supported by this target.
The program is not being run.
"monitor" command not supported by this target.
The program is not being run.
The program is not being run.
This series of messages just repeats 18 more times for the rest of the benchmarks in the log. It says that the monitor command is not supported by the target, which I take to mean that riscv32 won't work for this module either (please correct me if I'm wrong)? If so, is there a workaround for RISC-V processor testing for embench (i.e. how are others going about it)?
from embench-iot.
Hi,
I'm having the same issue while trying to run the speed benchmark.
Did you find a solution? could you run the speed benchmark successfully?
from embench-iot.
Hi rawan305,
Unfortunately I have not been able to run it as of yet.
from embench-iot.
Related Issues (20)
- json-comma and no-json-comma option cause error HOT 1
- Failed to compute speed benchmarks for riscv
- Unable to run benchmark-speed HOT 1
- Does Embench support RISCV64 ISA HOT 1
- In nbody some toolchains hoisting bodies_energy out of main loop HOT 5
- In the st benchmark some toolchains hoisting/removing the computation from the benchmarking loop HOT 4
- crc32 size increases is we specify a frequency with --cpu-mhz different from 1 MHz
- nsichneu use of volatile keyword HOT 2
- nettle-sha256 does not work with CFI that enforces types HOT 2
- Discussing potential advantages of unaligned access and bi-endian hardware support HOT 2
- Remove I/O dependencies of md5sum benchmark
- How to run embench on qemu for RISC-V?
- Tarfind isn't portable due to assuming struct layout HOT 3
- EMB2.0: Automatic stdlib size overhead adjustment HOT 6
- EMB2.0: Update python build scripts HOT 1
- OpenRISC Port Issue #1: Inconsistency in size benchmark success reporting HOT 1
- OpenRISC port Issue #2: Inconsistency in reporting size results HOT 1
- OpenRISC port Issue #3: Binary header issue with -nostdlib/-nostartfiles flags HOT 1
- OpenRISC port Issue #4: Conflicting .so definitions in dummy libs and OpenRISC toolchain libc HOT 1
- Embench 2.0: Missing Depthconv benchmark's reference platform baseline data.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from embench-iot.