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

Bump Checkpointing Script + Docs #1911

Merged
merged 20 commits into from
Aug 8, 2024
Merged

Bump Checkpointing Script + Docs #1911

merged 20 commits into from
Aug 8, 2024

Conversation

abejgonzalez
Copy link
Contributor

@abejgonzalez abejgonzalez commented Jun 26, 2024

Various checkpointing fixes + QoL updates:

  • Fixed and more robust ckpt script
  • Support changing PMPs in SpikeTile configs
  • New ckpt specific configs
  • Dedup + fix SpikeTile configs
  • Bump FireMarshal for HTIF-only serial console Linux version
  • Many docs + comments for clarification

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?

@abejgonzalez abejgonzalez requested a review from jerryz123 June 26, 2024 20:59
@abejgonzalez abejgonzalez self-assigned this Jun 26, 2024
@abejgonzalez abejgonzalez changed the title Bump checkpointing Bump Checkpointing Script + Docs Jun 26, 2024
scripts/generate-ckpt.sh Outdated Show resolved Hide resolved
@abejgonzalez abejgonzalez changed the base branch from main to bump-spike June 28, 2024 20:55
@abejgonzalez
Copy link
Contributor Author

Once #1912 is merged, I'll rebase this PR and clean up the commits. However, this currently works consistently.

@abejgonzalez abejgonzalez requested a review from jerryz123 June 29, 2024 05:25
Base automatically changed from bump-spike to main June 30, 2024 02:48
Copy link
Contributor

@jerryz123 jerryz123 left a comment

Choose a reason for hiding this comment

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

Needs to be rebased on dev to clean the commit history

Fixed and more robust ckpt script
Support changing PMPs in SpikeTile configs
New ckpt specific configs
Dedup + fix SpikeTile configs
Bump FireMarshal for HTIF-only serial console Linux version
Many docs + comments for clarification
@@ -16,7 +16,9 @@ import freechips.rocketchip.util._
import freechips.rocketchip.tile._
import freechips.rocketchip.prci._

case class SpikeCoreParams() extends CoreParams {
case class SpikeCoreParams(
nPMPs: Int = 16
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd prefer to just make this a hard default to 0 in the params, rather than introducing a default that is seldom useful

Copy link
Contributor Author

@abejgonzalez abejgonzalez Jun 30, 2024

Choose a reason for hiding this comment

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

If we are trying to match Rocket w/ the configurations maybe this should be set to 8 by default (what Rocket does). IMO it's better to match Rocket then have a specific checkpointing config that has the right arch. state set than have some implicitly set default value that works for one config (Spike) but not for the other (Rocket) when reloading checkpoints.

scripts/generate-ckpt.sh Outdated Show resolved Hide resolved
@abejgonzalez
Copy link
Contributor Author

Only thing that seems broken is that the simulation doesn't terminate properly. Doing something like this:

image

Otherwise this PR is GTG.

@abejgonzalez
Copy link
Contributor Author

Only thing that seems broken is that the simulation doesn't terminate properly. Doing something like this:

image

Otherwise this PR is GTG.

Ok, it looks like this issue is something to do with SV39 v SV48. I'll just convert all configs to by default use SV39 again (instead of SV48) since SV39 was more thoroughly tested and it works with cospike. I'll update this PR to point to ucb-bar/testchipip#237

Copy link
Contributor

@jerryz123 jerryz123 left a comment

Choose a reason for hiding this comment

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

Can you force push removing the [ci skip] tag?

@abejgonzalez
Copy link
Contributor Author

Can you force push removing the [ci skip] tag?

I want this PR reviewed and added before bumping this: riscv-software-src/riscv-isa-sim#1721

@abejgonzalez
Copy link
Contributor Author

Bumped but still waiting for riscv-software-src/riscv-isa-sim#1721 to fully merge this.

@abejgonzalez
Copy link
Contributor Author

Bumped but still waiting for riscv-software-src/riscv-isa-sim#1721 to fully merge this.

Bumped. This is ready for review.

@abejgonzalez abejgonzalez requested a review from jerryz123 August 2, 2024 00:39
@jerryz123 jerryz123 force-pushed the bump-checkpointing branch from eff0ad8 to 3750640 Compare August 7, 2024 04:53
@jerryz123
Copy link
Contributor

Finally done.

@jerryz123 jerryz123 merged commit 6ec8cf9 into main Aug 8, 2024
57 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants