Comments (11)
The proxy kernel can do this for you with its -s flag (try spike pk -s
hello)
On Mon, Mar 23, 2015 at 1:23 AM, Channoh Kim [email protected]
wrote:
Hi,
I want to get dynamic instruction count via Spike, but the disassembly
codes from -d option (i.e., spike -d pk hello and :r) is weird.—
Reply to this email directly or view it on GitHub
#14.
from riscv-isa-sim.
Good. Thanks!
from riscv-isa-sim.
Is there an updated and current way to get dynamic instruction count? This no longer works.
from riscv-isa-sim.
Is there a way to get a more detailed breakdown of types of instructions executed?
And if not, would there be an interest in me implementing this feature and upstreaming it?
from riscv-isa-sim.
Hi,
We are working on a Python tool which takes as input the log file generated from spike using the -l option and outputs different statistics based on the log file.
You can check out the implemented features and ongoing features at - https://bitbucket.org/anmol07/spikepost
from riscv-isa-sim.
Can that one differentiate between instructions in the user program vs instructions from pk?
My other concern is that for most benchmarks the log files quickly become huge (>30GB)
from riscv-isa-sim.
Currently we are processing log files using pure Python. These suffice for the common riscv benchmarks. I am looking at a numpy/spark backend for faster analytics.
As to the other part of your question, I am not sure if I understand correctly. Could you please elaborate a bit about what you mean instructions generated by pk?
from riscv-isa-sim.
What I mean is when you execute a program with spike pk <prog>
, you aren't just running your program, you are also running pk. So not every instruction that is a part of the log is a part of the program.
But as I type this out I realized pk is only necessary for me because of the printf statements.
from riscv-isa-sim.
from riscv-isa-sim.
We already have a feature of selecting an address range where you want the profiling to happen. It can be extended to incorporate address blocks that have to be skipped. Will add that as an enhancement in the repo.
from riscv-isa-sim.
I think the problem with using a full log file is that for complicated programs, it becomes really huge. for the program I was trying to benchmark, it produced a 300GB log file and then crashed because it run out of HDD space. I could move it onto a larger system but at that point, parsing will also be ridiculous. It's possible I did something wrong.
I'm working on an instruction count modification on my fork and will submit a PR if I can get anything reasonable.
from riscv-isa-sim.
Related Issues (20)
- spike cache model
- Dependency file in makefile is missing
- Incorrect IRQ priority with LCOF
- Deprecated dcsr.halt HOT 2
- Dose write-only operation to csr_seed trigger illegal instruction exception ? HOT 1
- htif : elf load , invalid address
- Possible to forward a Ctrl-C to the running program?
- spike.cfg : remote_bitbang host localhost should be remote_bitbang_host in OPENOCD's
- SPIKE functions use in System verilog HOT 2
- uint64_t
- Why menvcfg.pbmt is set 1 on reset ? HOT 5
- Need assistance for Executing my targeted workload on spike RISC-V ISA after adding custom trigonometric Instructions HOT 5
- From double trap spec, we saw that Ssdbltrp adds an SDT field to sstatus. But will mstatus has this bit? HOT 2
- Segmentation Fault when interrupt handled while interrupts are disabled in machine mode HOT 3
- Commit 584f8551 appears to break enabling the virtualization extension. HOT 1
- Zicntr not listed as supported extension HOT 2
- Spike does not implement the functions of VTA and MTA for "Written with 1s" HOT 8
- `fsqrt.s` with zero source register results `NaN` instead of `0` HOT 3
- Illegal Instruction overlap difference between vfwadd_wf and vwadd_wx HOT 1
- How to change vector extension configuration(vlen, elen)? HOT 4
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 riscv-isa-sim.