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

Add BitCheck Process #802

Merged
merged 14 commits into from
Oct 25, 2023
Merged

Add BitCheck Process #802

merged 14 commits into from
Oct 25, 2023

Conversation

mgkwill
Copy link
Contributor

@mgkwill mgkwill commented Oct 18, 2023

Issue Number: #801

Objective of pull request: Add a BitCheck process. This short and simple ProcessModel can be used for quick checking of bit-accurate process runs as to whether bits will overflow when running on hardware.

Pull request checklist

Your PR fulfills the following requirements:

  • Issue created that explains the change and why it's needed
  • Tests are part of the PR (for bug fixes / features)
  • Docs reviewed and added / updated if needed (for bug fixes / features)
  • PR conforms to Coding Conventions
  • PR applys BSD 3-clause or LGPL2.1+ Licenses to all code files
  • Lint (flakeheaven lint src/lava tests/) and (bandit -r src/lava/.) pass locally
  • Build tests (pytest) passes locally

Pull request type

Please check your PR type:

  • Feature

What is the current behavior?

  • Currently there is not a standard way to check if process vars overflow particular bit limitations during bit-accurate runs meant to simulate hardware.

What is the new behavior?

  • BitCheck process is added that gives a standard way to check if process vars overflow particular bit limitations during bit-accurate runs meant to simulate hardware.

Does this introduce a breaking change?

  • Yes
  • No

Supplemental information

During Loihi verification against Lava bit-accurate simulation we found that it was useful to have an overflow checker. This PR and feature request is the result of that realization.

Suggestions and design ideas happily accepted.

Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
@mgkwill mgkwill added the 1-feature New feature request label Oct 18, 2023
@mgkwill mgkwill self-assigned this Oct 18, 2023
Marcus G K Williams and others added 7 commits October 17, 2023 21:32
Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
Copy link
Contributor

@bamsumit bamsumit left a comment

Choose a reason for hiding this comment

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

Looks great Marcus. Feel free to incorporate the dynamic shape identification during connect_var that we discussed.

@mgkwill
Copy link
Contributor Author

mgkwill commented Oct 20, 2023

Looks great Marcus. Feel free to incorporate the dynamic shape identification during connect_var that we discussed.

Thanks @bamsumit will make that change.

Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
@mgkwill
Copy link
Contributor Author

mgkwill commented Oct 23, 2023

Looks great Marcus. Feel free to incorporate the dynamic shape identification during connect_var that we discussed.

Hi @bamsumit - I've refactored to set shape using connect_var. Let me know if what I've done works, or you have any other thoughts?

@mgkwill mgkwill requested a review from phstratmann October 23, 2023 17:19
Marcus G K Williams added 2 commits October 23, 2023 10:55
Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]>
@bamsumit
Copy link
Contributor

Looks great Marcus. Feel free to incorporate the dynamic shape identification during connect_var that we discussed.

Hi @bamsumit - I've refactored to set shape using connect_var. Let me know if what I've done works, or you have any other thoughts?

@mgkwill That is perfect :)

src/lava/proc/bit_check/models.py Outdated Show resolved Hide resolved
src/lava/proc/bit_check/process.py Outdated Show resolved Hide resolved
@mgkwill
Copy link
Contributor Author

mgkwill commented Oct 24, 2023

Thanks @PhilippPlank and @bamsumit for the feedback!

Fixed all issues.

@mgkwill mgkwill enabled auto-merge (squash) October 25, 2023 00:45
@mgkwill mgkwill merged commit 97e596d into main Oct 25, 2023
6 checks passed
@mgkwill mgkwill deleted the bit_check branch October 25, 2023 17:39
monkin77 pushed a commit to monkin77/thesis-lava that referenced this pull request Jul 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1-feature New feature request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants