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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
intel::hexl::fpga::Device Class Reference

Class Device. More...

#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
 
Deviceoperator= (const Device &)=delete
 
void run ()
 

Detailed Description

Class Device.

Device Constructor

Parameters
[in]devicechoice between emulation and FPGA
[in]buffermemory blob where objects are stored
[in]exit_signalflag signaling data available
[in]coeff_sizepolynomial coefficient size
[in]modulus_sizemodulus size
[in]batch_size_dyadic_multiplybatch size for the multiplication operation
[in]batch_size_nttbatch size for the NTT operation
[in]batch_size_inttbatch size for the INTT operation
[in]batch_size_KeySwitchbatch size for the KeySwitch operation
[in]debugflag indicating debug mode

run function to launch the operation on the FPGA

Constructor & Destructor Documentation

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 ( )
intel::hexl::fpga::Device::Device ( const Device )
delete

Member Function Documentation

Device& intel::hexl::fpga::Device::operator= ( const Device )
delete
void intel::hexl::fpga::Device::run ( )

The documentation for this class was generated from the following file: