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 HEXL-FPGA compatibility for DyadicMultiply and KeySwitch #109

Merged
merged 3 commits into from
Mar 11, 2022

Conversation

ymeng-git
Copy link
Contributor

Added an internal implementation for DyadicMultiply and KeySwitch and a CMake option HEXL_FPGA_COMPATIBILITY and compiler flag to disable the normal DyadicMultiply and KeySwitch and only leave the internal one available. This makes HEXL compatible with HEXL-FPGA. With this both libraries can use HEXL's header but HEXL-FPGA can override DyadicMultiply and KeySwitch with its own implementation while leaving the internal implementation as a fallback if the user desires to use the CPU implementation.

Renamed all instances of CKKS in all functions and file names.

Added a new root_of_unity_powers_ptr option to KeySwitch. This option will be used in HEXL-FPGA.

Addressed the review comments

Signed-off-by: Yan Meng yan.meng@intel.com

Added an internal implementation for DyadicMultiply and KeySwitch and a CMake option HEXL_FPGA_COMPATIBILITY and compiler flag to disable the normal DyadicMultiply and KeySwitch and only leave the internal one available. This makes HEXL compatible with HEXL-FPGA. With this both libraries can use HEXL's header but HEXL-FPGA can override DyadicMultiply and KeySwitch with its own implementation while leaving the internal implementation as a fallback if the user desires to use the CPU implementation.

Renamed all instances of CKKS in all functions and file names.

Added a new root_of_unity_powers_ptr option to KeySwitch. This option will be used in HEXL-FPGA.

Addressed the review comments

Signed-off-by: Yan Meng <yan.meng@intel.com>
@ymeng-git ymeng-git requested a review from a team as a code owner March 10, 2022 19:21
@ymeng-git ymeng-git enabled auto-merge (squash) March 10, 2022 19:57
Copy link
Contributor

@jlhcrawford jlhcrawford left a comment

Choose a reason for hiding this comment

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

Some comments mainly documentation related.
Has HEXL_FPGA_COMPATIBILITY been added to the README as an option?

Signed-off-by: Yan Meng <yan.meng@intel.com>
Signed-off-by: Yan Meng <yan.meng@intel.com>
@hamishun hamishun disabled auto-merge March 11, 2022 18:03
@hamishun hamishun merged commit fe56a32 into development Mar 11, 2022
@hamishun hamishun deleted the ymeng/fpga-compatibility branch March 11, 2022 18:07
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.

4 participants