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

Adding Support: Configurable Cache Replacement Policies #230

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

govardhnn
Copy link

Building on Issue#61, this merge request proposes to add configurable cache-replacement policies to Olympia.

@govardhnn govardhnn marked this pull request as ready for review December 2, 2024 17:06
@knute-mips
Copy link
Contributor

@govardhnn Can you add the missing files that are preventing CI from running?

@govardhnn
Copy link
Author

Will fix this by the Monday(Jan 20) TG meeting. Apologies for the delayed response!

govardhnn and others added 11 commits January 17, 2025 19:00
Also implements integer extension instructions which requires the value
encoded in the instruction for sequencing.
A unit test bench template. It intends to help new users create unit
tests.

Three components, Src, Sink, Dut. Handles json and stf input test types.

Conforms to coding style through clang-formt.

I created this for myself a while back to help learning the concepts,
updated for coding style.

It was useful to me when learning sparta/map/olympia.

---------

Co-authored-by: jeff <[email protected]>
Added several subdirectories to the `core` directory to created new
libraries for each "unit" to make the repo easier to navigate.
Added a parameter to the Vector tester to be able to reduce code size.
Also removed several redundant tests.
@govardhnn
Copy link
Author

Hi, I have borrowed the missing cache/ files from Sparta, which I implicitly assumed would be picked up form Map for the includes.
Not sure if this is right, but the regress target works in the release/ directory locally

  • make -j4 regress
  100% tests passed, 0 tests failed out of 102
  
  Total Test time (real) =  40.33 sec
  [100%] Built target regress

@klingaard
Copy link
Collaborator

You are correct that the missing cache files should be picked up from the sparta install. I cloned your branch locally, removed the core/cache directory and olympia built cleanly for me.

@govardhnn
Copy link
Author

Yep @knute-mips, I'll try to replicate the same commands from Ubuntu-Release-gcc to see if the issue is in the CI.
Meanwhile let me also look into other areas to contribute in Olympia.

@govardhnn
Copy link
Author

@knute-mips looks like the Branch-Pedictor test BranchPred_test_Run seg-faulted. Can you please rerun the CI tests?
I could not join the meeting today, apologies.

99% tests passed, 1 tests failed out of 109

Total Test time (real) =  80.96 sec

The following tests FAILED:
	 90 - BranchPred_test_Run (SEGFAULT)
Errors while running CTest
Output from these tests are in: /home/runner/work/riscv-perf-model/riscv-perf-model/Release/test/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
make[3]: *** [test/CMakeFiles/regress.dir/build.make:70: regress] Error 8
make[2]: *** [CMakeFiles/Makefile2:2171: test/CMakeFiles/regress.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2178: test/CMakeFiles/regress.dir/rule] Error 2
make: *** [Makefile:839: regress] Error 2
+ BUILD_OLYMPIA=2
+ '[' 2 -ne 0 ']'
+ echo 'ERROR: build/regress of olympia FAILED!!!'
+ exit 1
ERROR: build/regress of olympia FAILED!!!

A copy of cache/ was moved from sparta to core/ in olympia
due to a false-alarm by the CI - now reverted.
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.

6 participants