Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate barf (prefetchers) #1505

Merged
merged 5 commits into from
Jun 13, 2023
Merged

Integrate barf (prefetchers) #1505

merged 5 commits into from
Jun 13, 2023

Conversation

jerryz123
Copy link
Contributor

@jerryz123 jerryz123 commented Jun 8, 2023

BARF (BAR-fetchers) is a generic API for describing simple prefetchers, that can be instantiated in front of L1 HellaCaches, or in TileLink bus widgets.

Currently, a handful of example algorithms are implemented.

Related PRs / Issues:

Type of change:

  • Bug fix
  • New feature
  • Other enhancement

Impact:

  • RTL change
  • Software change (RISC-V software)
  • Build system change
  • Other

Contributor Checklist:

  • Did you set main as the base branch?
  • Is this PR's title suitable for inclusion in the changelog and have you added a changelog:<topic> label?
  • Did you state the type-of-change/impact?
  • Did you delete any extraneous prints/debugging code?
  • Did you mark the PR with a changelog: label?
  • (If applicable) Did you update the conda .conda-lock.yml file if you updated the conda requirements file?
  • (If applicable) Did you add documentation for the feature?
  • (If applicable) Did you add a test demonstrating the PR?
  • (If applicable) Did you mark the PR as Please Backport?

docs/Generators/Prefetchers.rst Outdated Show resolved Hide resolved
@@ -56,6 +56,9 @@ case $1 in
chipyard-hetero)
run_bmark ${mapping[$1]}
;;
chipyard-prefetchers)
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/benchmarks/dhrystone.riscv
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Side note: Why don't we make LOADMEM the default? Isn't it fairly robust now?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOADMEM only works on configs that rely on the normal backing memory model. For configs which rely on on-chip memory, or which have a more sophisticated memory system, setting LOADMEM may result in a silent failure that is difficult to debug.

Copy link
Contributor

@abejgonzalez abejgonzalez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM minus the failing test.

@jerryz123 jerryz123 merged commit 3dea032 into main Jun 13, 2023
50 checks passed
@jerryz123 jerryz123 deleted the barf branch June 13, 2023 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants