riscv-software-src / riscv-perf-model

Example RISC-V Out-of-Order/Superscalar Processor Performance Core and MSS Model
Apache License 2.0
136 stars 58 forks source link

Generate STF trace for Coremark using STF instrumented Dromajo #55

Open arupc opened 1 year ago

arupc commented 1 year ago

Try out the steps to generate dhrystone stf trace following instructions from https://github.com/riscv-software-src/riscv-perf-model/blob/master/traces/README.md . This is the suggested order of operations:

jeffnye-gh commented 1 year ago

Hi,

Is there anyone working on this ? I can help.

I got the latest dromajo patched and generating z/stf from linux and baremetal.

klingaard commented 1 year ago

I just merged a PR (PR #67) last week that patches a newer Dromajo, but not the latest master. I was able to produce an updated Dhrystone, but didn't try Coremark.

Feel free to merge with latest mast of Olympia, update the patch and put in a PR. Thanks!

jeffnye-gh commented 1 year ago

my bad, I missed your recent commit. I was after the uart performance improvement in a version of dromajo that can also generate stf. I used to maintain a patched (slow) and 'head' (fast) version.

A quick scan of the changes between april and aug (latest) does not show anything significant to me. I don't think it's worth the churn for another PR/merge right now.

ghost commented 1 year ago

No worries. I don't like my fix for now -- restricting Dromajo's instruction quantum to 1 for EVERYTHING. I think a smarter approach is to allow Dromajo to run as fast as possible until it hits a trace start maker. Then, it goes into crawl mode. If you have any ideas or patches that do that, would love to have 'em!

ghost commented 1 year ago

For pubic projects with many developers, it’s obviously not feasible to give everyone push access to a repo.

What folks do is fork the repo into their own private space, create branches and push to those branches to their private forks.

To push your private branch to the main repo, you start by creating a new pull request (I believe in your private fork) and set pull downs to the proper source/destination locations.

On Oct 24, 2023, at 10:32 AM, jeffnye-gh @.***> wrote:

I have a branch that moves tracing generation into the interpreter and so keeps performance when not tracing.

I need some guidance on how to proceed. I created a branch on riscv-perf-model, push fails with permission denied. What's process do others use for this?

console: git push origin jeffnye.dromajo_stf_update Username for 'https://github.com https://github.com/': jeffnye-gh Password for @. @./>': remote: Permission to riscv-software-src/riscv-perf-model.git denied to jeffnye-gh.

fatal: unable to access 'https://github.com/riscv-software-src/riscv-perf-model.git/': The requested URL returned error: 403

— Reply to this email directly, view it on GitHub https://github.com/riscv-software-src/riscv-perf-model/issues/55#issuecomment-1777494593, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOG4S2OQMIZW3NHZ46TD6MLYA7NRNAVCNFSM6AAAAAAZHJKOEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZXGQ4TINJZGM. You are receiving this because you commented.