|
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_DyadicMultiply Stores the multiplication blob of objects to be transfered to the FPGA. More...
#include <fpga.h>
Public Member Functions | |
| FPGAObject_DyadicMultiply (const cl_context &context, uint64_t coeff_size, uint32_t modulus_size, uint64_t batch_size) | |
| ~FPGAObject_DyadicMultiply () | |
| FPGAObject_DyadicMultiply (const FPGAObject_DyadicMultiply &)=delete | |
| FPGAObject_DyadicMultiply & | operator= (const FPGAObject_DyadicMultiply &)=delete |
| void | fill_in_data (const std::vector< Object * > &objs) override |
| void | fill_out_data (uint64_t *results) 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 * | operand1_in_svm_ |
| uint64_t * | operand2_in_svm_ |
| moduli_info_t * | moduli_info_ |
| uint64_t | n_ |
| uint64_t | n_moduli_ |
| cl_mem | operands_in_ddr_ |
| cl_mem | results_out_ddr_ |
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_DyadicMultiply Stores the multiplication blob of objects to be transfered to the FPGA.
fill_in_data
| [in] | vector | of objects fill_out_data |
| results | vector containing the result of the multiplication |
operand1_in_svm_ First operand for the multiplication operand2_in_svm_ Second operand for the multiplication moduli_info_ structure containing information about the moduli n_ polynomial size n_moduli number of moduli operands_in_ddr_ pointer to operands in DDR memory results_out_ddr_ pointer to multiplication results in DDR
|
explicit |
| intel::hexl::fpga::FPGAObject_DyadicMultiply::~FPGAObject_DyadicMultiply | ( | ) |
|
delete |
|
overridevirtual |
Implements intel::hexl::fpga::FPGAObject.
|
overridevirtual |
Implements intel::hexl::fpga::FPGAObject.
|
delete |
| moduli_info_t* intel::hexl::fpga::FPGAObject_DyadicMultiply::moduli_info_ |
| uint64_t intel::hexl::fpga::FPGAObject_DyadicMultiply::n_ |
| uint64_t intel::hexl::fpga::FPGAObject_DyadicMultiply::n_moduli_ |
| uint64_t* intel::hexl::fpga::FPGAObject_DyadicMultiply::operand1_in_svm_ |
| uint64_t* intel::hexl::fpga::FPGAObject_DyadicMultiply::operand2_in_svm_ |
| cl_mem intel::hexl::fpga::FPGAObject_DyadicMultiply::operands_in_ddr_ |
| cl_mem intel::hexl::fpga::FPGAObject_DyadicMultiply::results_out_ddr_ |
1.8.5