riscv-software-src / riscv-perf-model

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

add the interim gem5 conversion with ctest #174

Closed jeffnye-gh closed 1 month ago

jeffnye-gh commented 1 month ago

GEM5 TAGE and SimpleBTB were converted to Sparta units, w/ Map style parameters and stats.

NOTE: some files are derived/modified versions, from external sources, please verify/confirm that the attached files have compatible licenses w/ riscv-perf-model intent.

this is a draft, next to zero cycles have been run on the conversion, basic sanity. The bpu is instantiated within a ctest bench. Not yet in the model proper.

The ideal outcome is this becomes one of many BPU's available to olympia.

Next steps might be to create local tests with training data, integrate with the existing BP API.

klingaard commented 1 month ago

This is really interesting and a good example of how to extract a Gem5 block. Need to be careful of license agreements creeping into the code base.

jeffnye-gh commented 1 month ago

Those two files were the only explicitly problematic files. I will go through the rest of the files.

jeffnye-gh commented 1 month ago

I am going to close the PR, given the sensitivity to non-apache licenses having a gem5 conversion example seems problematic. This example could be done in a piece of documentation somewhere where the license issues are not a general concern.

I do plan to do a ground up implementation of various tage flavors, from the original literature, I will share that if possible.