Skip to content

Conversation

christopherngutierrez
Copy link
Contributor

@christopherngutierrez christopherngutierrez commented Oct 7, 2024

Proposed changes

  • Provides Rescale Kernel generator for CKKS
  • Tested for 16K, 32K, 64K and 128K poly order

Types of changes

What types of changes does your code introduce to the HE Toolkit project?
Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (if none of the other choices apply)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating
the PR. If you are unsure about any of them, do not hesitate to ask. We are
here to help! This is simply a reminder of what we are going to look for before
merging your code.

  • I have read the CONTRIBUTING agreement
  • Current formatting and unit tests / base functionality passes locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have added necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in downstream modules

Further comments

…ix enables generate_p_isa_ops_pgm and run_p_isa to scripts in functional modeler to run properly and keeps the naming convention consistant between hec-p-isa-tools and HERACLES-SEAL-isa-mapping.
…ix enables generate_p_isa_ops_pgm and run_p_isa to scripts in functional modeler to run properly and keeps the naming convention consistant between hec-p-isa-tools and HERACLES-SEAL-isa-mapping.
…ix enables generate_p_isa_ops_pgm and run_p_isa to scripts in functional modeler to run properly and keeps the naming convention consistant between hec-p-isa-tools and HERACLES-SEAL-isa-mapping.
@faberga faberga added the enhancement New feature or request label Oct 8, 2024
@faberga faberga changed the title CKKS Rescale CKKS Rescale Feature Oct 8, 2024
@faberga faberga changed the title CKKS Rescale Feature New Kernel Generators for CKKS Oct 8, 2024
Copy link
Collaborator

@faberga faberga left a comment

Choose a reason for hiding this comment

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

Please convert code blocks annotated in comments to functions for clarity.
Also add comments to each stage.
Thanks

Copy link
Collaborator

@faberga faberga left a comment

Choose a reason for hiding this comment

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

See comments above.

…r functions to basic which are used by mod/rescale kerns.
faberga and others added 26 commits October 21, 2024 16:15
* Experimental VS Code Extension for the Kernel Language
* Kernel Language examples

Signed-off-by: Flavio Bergamaschi <[email protected]>
This PR implements the an experimental fix for a few issues in the RELIN kernel. Namely, the RELIN kernel generated code that was segmented due issues with composing DigitalDecompExtend and Keymul together. This fix uses internal temporary variables output_tmp , which will be refactored out in a following PR. Further, the input polynomials parts are hardcoded to 3 and output parts to 2 since the code assumes those sizes (also to be refactored to be more generic in the future).

Today the RELIN kernel only supports 16k polynomials due to a limitation of the NTT/INTT kernels. This limitation is being removed and the RELIN kernel will be updated accordingly.
…of 2 polynomials - Tested for 16k, 32k, 64k, and 128k. (#46)

Enhancements to the NTT/INTT kernel to support support generic power of 2 polynomials - Tested for 16k, 32k, 64k, and 128k.

Co-authored-by: Flavio Bergamaschi <[email protected]>
….py (#47)

* Refactor KeyMul and move it to basic.py
* Refactor and move DigitDecompExtend to its own file, decomp.py.
---------

Co-authored-by: Flavio Bergamaschi <[email protected]>
Fixes a bug that caused odd number of total NTT stages to write to incorrect output.
* Added a check in types and a test function in test_kerngen to verify that the poly order is a power of two and within upper(2**17)/lower(2**14) bounds.

Co-authored-by: Flavio Bergamaschi <[email protected]>
* Adds Rotate Kernel for BGV. Tested for 16k, 32k, 64k and 128k Poly mod.
* rotate.py - implementation of rotate kernel
* manifest.json - adds rotate entry to BGV manifest
---------

Co-authored-by: Flavio Bergamaschi <[email protected]>
Updates the requirements on [pylint](https://github.com/pylint-dev/pylint) to permit the latest version.
- [Release notes](https://github.com/pylint-dev/pylint/releases)
- [Commits](pylint-dev/pylint@v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: pylint
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Flavio Bergamaschi <[email protected]>
…ix enables generate_p_isa_ops_pgm and run_p_isa to scripts in functional modeler to run properly and keeps the naming convention consistant between hec-p-isa-tools and HERACLES-SEAL-isa-mapping.
Bug fix for NTT Kernel generating extra unnecessary P-ISA instructions.
…r functions to basic which are used by mod/rescale kerns.
Updates the requirements on [black](https://github.com/psf/black) to permit the latest version.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.8.0...24.10.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…hec-p-isa-tools into christopherngutierrez/rescale
@faberga
Copy link
Collaborator

faberga commented Oct 23, 2024

Closed - Superseded by PR #55

@faberga faberga closed this Oct 23, 2024
@faberga faberga deleted the christopherngutierrez/rescale branch October 23, 2024 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants