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

Fboemer/fix 32 bit invntt #73

Merged
merged 6 commits into from
Oct 6, 2021
Merged

Fboemer/fix 32 bit invntt #73

merged 6 commits into from
Oct 6, 2021

Conversation

fboemer
Copy link
Contributor

@fboemer fboemer commented Oct 5, 2021

Fix AVX512 NTT on moduli in the range [2^30, 2^31] (see https://jiratest.idoc.intel.com/browse/GLADE-147). Previously, these moduli values mapped to the 32-bit AVX512DQ NTT implementation. However, to prevent overflow, the 32-bit AVX512DQ NTT implementation should only be used for moduli < 2^30.

I've also added a wider coverage on the NTT unit-tests around 28-32 bits to prevent regression in the future.

WIP fixing input moddulus bounds

Cleanup

Fix 64-bit limit

WIP

WIP refactoring tests

All tests pass on AVX512DQ

Parameterize more NTT tests

Cleanup

Fix ICX compile
@fboemer fboemer force-pushed the fboemer/fix-32-bit-invntt branch from b230733 to dda6c9a Compare October 5, 2021 21:55
@fboemer fboemer marked this pull request as ready for review October 6, 2021 00:38
@fboemer fboemer requested a review from a team as a code owner October 6, 2021 00:38
@fboemer fboemer merged commit 4f4ab78 into main Oct 6, 2021
@fboemer fboemer deleted the fboemer/fix-32-bit-invntt branch October 6, 2021 18:17
joserochh pushed a commit to joserochh/hexl that referenced this pull request Oct 11, 2021
* Fix 32-bit AVX512DQ InvNTT

* Refactor NTT tests for better coverage
joserochh added a commit that referenced this pull request Oct 11, 2021
Avoiding memcpy calls on NTT

* Avoiding memcpys on Fwd NTT
* Avoiding memcpy on INV NTT
* Fixing some lines length
* using only one out-of-place on first passes
* Adding out-of-place for raddix 4 NTT
* Adding gpg issue
* Adding test cases for out place NTT
* Removing commented code and testing GPG Signing
* Fboemer/fix 32 bit invntt (#73)
* Fix 32-bit AVX512DQ InvNT
* Refactor NTT tests for better coverage
* Added performance tips to README (#74)
* small fix on test case (missed during merge)

Co-authored-by: Fabian Boemer <fabian.boemer@intel.com>
fboemer added a commit that referenced this pull request Nov 8, 2021
* Fix 32-bit AVX512DQ InvNTT

* Refactor NTT tests for better coverage
fboemer added a commit that referenced this pull request Nov 8, 2021
Avoiding memcpy calls on NTT

* Avoiding memcpys on Fwd NTT
* Avoiding memcpy on INV NTT
* Fixing some lines length
* using only one out-of-place on first passes
* Adding out-of-place for raddix 4 NTT
* Adding gpg issue
* Adding test cases for out place NTT
* Removing commented code and testing GPG Signing
* Fboemer/fix 32 bit invntt (#73)
* Fix 32-bit AVX512DQ InvNT
* Refactor NTT tests for better coverage
* Added performance tips to README (#74)
* small fix on test case (missed during merge)

Co-authored-by: Fabian Boemer <fabian.boemer@intel.com>
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.

3 participants