riscv-boom/boom-attacks

Errors Implementing Hybrid Branch Predictors on RISCV BOOM core

Ogbo0810 opened this issue · 9 comments

I am working on implementing hybrid branch predictors listed below

  • Gshare + TAGE
  • TAGE + Alpha
  • Perceptron + TAGE
  • Gshare + Alpha
  • Perceptron + Gshare
  • Perceptron + Alpha
  • Perceptron + TAGE + Alpha
    I created a class definition of the hybrid predictor in the config-mixins.scala file and create a class instance in the BOOMConfigs.scala file.
    When I try doing that, the results I get are the same as if I run the benchmark programs (multiplication.riscv, qsort.riscv, and dhrystone.riscv) without any branch predictor.

These are screenshots of what I did for the Gshare + TAGE hybrid combination.

The idea is to replace tagless base predictor (PC indexed 2-bit counter bimodal table) of TAGE with Gshare

Class Definition of Hybrid combination of Gshare and Tage in config-mixins.scala file
image

Class instance of Hybrid combination of Gshare and Tage in BOOMConfigs.scala file
image

The CPI I get for all three benchmark programs (multiplication.riscv, qsort.riscv, and dhrystone.riscv) with this hybrid combination is the same as the CPI for when I run the same benchmark programs with no branch predictor.

Reorder WithHybridGshareTAGE above WithNSmallBooms

Thank you for your recommendation @jerryz123.
I reordered it as you suggested but I am still having the same results as before.
image
image

I would appreciate any further suggestions.

No, I mean in this class:
image
, reorder them

Hi @jerryz123
I reordered it as you recommended as follows:
image

I run into an error when I evaluate with multiplication.riscv benchmark
image

@jerryz123
I also reordered it as follows:
image

I still have this error:
image

Can you show the full stack trace? Not just the end?

Hi @jerryz123

I has the stacktrace as follows:
image
image
image
image

I think you have to increase bpdMaxMetaLength in your predictor config.

Hi @jerryz123
I increased it as you recommended and I am able to get improved results as I aimed for.
Thank you very much. I really appreciate your help