|
Intel HE Acceleration Library for FPGAs
Intel Homomorphic Encryption Acceleration Library for FPGAs, accelerating the modular arithmetic operations used in homomorphic encryption on Intel FPGAs.
|
Struct FPGAObject_INTT stores the INTT blob of objects to be transfered to the FPGA. More...
#include <fpga.h>
Public Member Functions | |
| FPGAObject_INTT (const cl_context &context, uint64_t coeff_count, uint64_t batch_size) | |
| ~FPGAObject_INTT () | |
| FPGAObject_INTT (const FPGAObject_INTT &)=delete | |
| FPGAObject_INTT & | operator= (const FPGAObject_INTT &)=delete |
| void | fill_in_data (const std::vector< Object * > &objs) override |
| void | fill_out_data (uint64_t *coeff_poly) override |
Public Member Functions inherited from intel::hexl::fpga::FPGAObject | |
| FPGAObject (const cl_context &context, uint64_t n_batch, kernel_t type=kernel_t::NONE, bool fence=false) | |
| virtual | ~FPGAObject ()=default |
| void | recycle () |
Public Attributes | |
| uint64_t * | coeff_poly_in_svm_ |
| uint64_t * | inv_root_of_unity_powers_in_svm_ |
| uint64_t * | precon_inv_root_of_unity_powers_in_svm_ |
| uint64_t * | coeff_modulus_in_svm_ |
| uint64_t * | inv_n_in_svm_ |
| uint64_t * | inv_n_w_in_svm_ |
| uint64_t | n_ |
Public Attributes inherited from intel::hexl::fpga::FPGAObject | |
| const cl_context & | context_ |
| int | tag_ |
| uint64_t | n_batch_ |
| uint64_t | batch_size_ |
| kernel_t | type_ |
| bool | fence_ |
| std::vector< Object * > | in_objs_ |
Additional Inherited Members | |
Static Public Attributes inherited from intel::hexl::fpga::FPGAObject | |
| static std::atomic< int > | g_tag_ |
Struct FPGAObject_INTT stores the INTT blob of objects to be transfered to the FPGA.
fill_in_data
| [in] | vector | of objects fill_out_data |
| [out] | vector | of polynomial coefficients |
coeff_poly_in_svm vector of polynomial coefficients inv_root_of_unity_powers_in_svm twiddle factors precon_inv_root_of_unity_powers_in_svm inverse twiddle factors coeff_modulus_in_svm_ polynomial coefficients modulus inv_n_in_svm_ normalization factor 1/n for the polynomial coefficients inv_n_w_in_svm_ normalization factor 1/n for the constant coefficient n polynomial size
|
explicit |
| intel::hexl::fpga::FPGAObject_INTT::~FPGAObject_INTT | ( | ) |
|
delete |
|
overridevirtual |
Implements intel::hexl::fpga::FPGAObject.
|
overridevirtual |
Implements intel::hexl::fpga::FPGAObject.
|
delete |
| uint64_t* intel::hexl::fpga::FPGAObject_INTT::coeff_modulus_in_svm_ |
| uint64_t* intel::hexl::fpga::FPGAObject_INTT::coeff_poly_in_svm_ |
| uint64_t* intel::hexl::fpga::FPGAObject_INTT::inv_n_in_svm_ |
| uint64_t* intel::hexl::fpga::FPGAObject_INTT::inv_n_w_in_svm_ |
| uint64_t* intel::hexl::fpga::FPGAObject_INTT::inv_root_of_unity_powers_in_svm_ |
| uint64_t intel::hexl::fpga::FPGAObject_INTT::n_ |
| uint64_t* intel::hexl::fpga::FPGAObject_INTT::precon_inv_root_of_unity_powers_in_svm_ |
1.8.5