|
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.
|
#include <fpga.h>
Public Member Functions | |
| Device (const cl_device_id &device, Buffer &buffer, std::shared_future< bool > exit_signal, uint64_t coeff_size, uint32_t modulus_size, uint64_t batch_size_dyadic_multiply, uint64_t batch_size_ntt, uint64_t batch_size_intt, uint64_t batch_size_KeySwitch, uint32_t debug) | |
| ~Device () | |
| Device (const Device &)=delete | |
| Device & | operator= (const Device &)=delete |
| void | run () |
Class Device.
Device Constructor
| [in] | device | choice between emulation and FPGA |
| [in] | buffer | memory blob where objects are stored |
| [in] | exit_signal | flag signaling data available |
| [in] | coeff_size | polynomial coefficient size |
| [in] | modulus_size | modulus size |
| [in] | batch_size_dyadic_multiply | batch size for the multiplication operation |
| [in] | batch_size_ntt | batch size for the NTT operation |
| [in] | batch_size_intt | batch size for the INTT operation |
| [in] | batch_size_KeySwitch | batch size for the KeySwitch operation |
| [in] | debug | flag indicating debug mode |
run function to launch the operation on the FPGA
| intel::hexl::fpga::Device::Device | ( | const cl_device_id & | device, |
| Buffer & | buffer, | ||
| std::shared_future< bool > | exit_signal, | ||
| uint64_t | coeff_size, | ||
| uint32_t | modulus_size, | ||
| uint64_t | batch_size_dyadic_multiply, | ||
| uint64_t | batch_size_ntt, | ||
| uint64_t | batch_size_intt, | ||
| uint64_t | batch_size_KeySwitch, | ||
| uint32_t | debug | ||
| ) |
| intel::hexl::fpga::Device::~Device | ( | ) |
|
delete |
| void intel::hexl::fpga::Device::run | ( | ) |
1.8.5