|
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.
|
Parent Struct FPGAObject stores the blob of objects to be transfered to the FPGA. More...
#include <fpga.h>
Public Member Functions | |
| FPGAObject (const cl_context &context, uint64_t n_batch, kernel_t type=kernel_t::NONE, bool fence=false) | |
| virtual | ~FPGAObject ()=default |
| virtual void | fill_in_data (const std::vector< Object * > &objs)=0 |
| virtual void | fill_out_data (uint64_t *results)=0 |
| void | recycle () |
Public Attributes | |
| const cl_context & | context_ |
| int | tag_ |
| uint64_t | n_batch_ |
| uint64_t | batch_size_ |
| kernel_t | type_ |
| bool | fence_ |
| std::vector< Object * > | in_objs_ |
Static Public Attributes | |
| static std::atomic< int > | g_tag_ |
Parent Struct FPGAObject stores the blob of objects to be transfered to the FPGA.
fill_in_data
| [in] | vector | of objects fill_out_data |
| [out] | vector | of results recycle releases the content context_ stores the openCL context tag_ stores the blob tag n_batch_ stores the number of batches in_objs_ vector of stored objects g_tag_ stores the global tag identifier |
| intel::hexl::fpga::FPGAObject::FPGAObject | ( | const cl_context & | context, |
| uint64_t | n_batch, | ||
| kernel_t | type = kernel_t::NONE, |
||
| bool | fence = false |
||
| ) |
|
virtualdefault |
|
pure virtual |
|
pure virtual |
| void intel::hexl::fpga::FPGAObject::recycle | ( | ) |
| uint64_t intel::hexl::fpga::FPGAObject::batch_size_ |
| const cl_context& intel::hexl::fpga::FPGAObject::context_ |
| bool intel::hexl::fpga::FPGAObject::fence_ |
|
static |
| std::vector<Object*> intel::hexl::fpga::FPGAObject::in_objs_ |
| uint64_t intel::hexl::fpga::FPGAObject::n_batch_ |
| int intel::hexl::fpga::FPGAObject::tag_ |
| kernel_t intel::hexl::fpga::FPGAObject::type_ |
1.8.5