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

BFV noise bound ever-so-slightly underestimating on one test case #1614

Open
j2kun opened this issue Mar 24, 2025 · 5 comments · Fixed by #1615
Open

BFV noise bound ever-so-slightly underestimating on one test case #1614

j2kun opened this issue Mar 24, 2025 · 5 comments · Fixed by #1615
Assignees

Comments

@j2kun
Copy link
Collaborator

j2kun commented Mar 24, 2025

See https://github.com/google/heir/actions/runs/14040657498/job/39309761604

==================== Test output for //tests/Examples/lattigo/bfv/noise/mult_indep_16_debug:multindep16debug_test
...
lattigo.bgv.mul
  [1]
  Noise: 36.28 Total: 125
  Noise Bound: 36.27 Gap: -0.01
--- FAIL: TestBinops (1.11s)
panic: Noise Bound Exceeded [recovered]
	panic: Noise Bound Exceeded
@ZenithalHourlyRate
Copy link
Collaborator

I suspect this will fail now and then...it do is a probablisitic (assumed to be 99.99%) bound but it should not fail that frequently. The problem should be with the underlying noise model or my implementation, but as far as I can tell there are quite a few questionable parts in every noise analysis (also implementation choices) so I think making them work completely should still be an undergoing research topic.

@j2kun
Copy link
Collaborator Author

j2kun commented Mar 25, 2025

In that test, maybe we can avoid this by just removing one of the operations so it's 15 instead of 16?

@ZenithalHourlyRate
Copy link
Collaborator

No, the error happens at the first multiplication so no matter how many ct there are it is probable to error again, so I disabled all 8,16,32 test in the PR.

@j2kun
Copy link
Collaborator Author

j2kun commented Mar 25, 2025

What if we add a pass option for validation, that does something like count of operations that failed noise validation, and only err if that count exceeds a value given in the pass flag. This would only be used for testing purposes.

Copy link

Note

Re-commenting because this issue was closed with unresolved TODOs.

This issue has 1 outstanding TODOs:

This comment was autogenerated by todo-backlinks

@j2kun j2kun reopened this Mar 28, 2025
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 a pull request may close this issue.

2 participants