The PALISADE-CPU backend is a Reference backend engine for HEBench which is a shared library that implements the required functions specified in either the hebench::APIBridge or hebench::cpp wrapper. It is intended only as a reference on how to implement a PALISADE backend for HEBench and it is not fully optimized for performance.
Apache License 2.0
6
stars
2
forks
source link
PALISADE EvalSum Error Thrown When Running DotProductBFV when n > slot_count / 2 #14
Describe the bug
When running dot-product with a large input (n > slot_count / 2), EvalSum fails to find an EvalKey for an index ("Could not find an EvalKey for index 1"). Can be fixed by passing the slot count instead of 'n' to EvalSum. Initial thought is that since EvalSum does an accumulate, the entirety of ciphertext needs to be "usable" as far as BFV is concerned (issue doesn't seem to appear in CKKS even with max slots used).
To Reproduce
Steps to reproduce the behavior:
Build & Install default reference backend
Generate a config file with --dump
Remove the unnecessary benchmarks not being tested (DotProductBFV)
Set input to 4097+
Expected behavior
The expectation is that the DotProductBFV should allow an 'n' up to the slot_count.
*Version not released yet. Commit is (ee84413)
Describe the bug
When running dot-product with a large input (n > slot_count / 2), EvalSum fails to find an EvalKey for an index ("Could not find an EvalKey for index 1"). Can be fixed by passing the slot count instead of 'n' to EvalSum. Initial thought is that since EvalSum does an accumulate, the entirety of ciphertext needs to be "usable" as far as BFV is concerned (issue doesn't seem to appear in CKKS even with max slots used).
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The expectation is that the DotProductBFV should allow an 'n' up to the slot_count.
Screenshots
N/A
Additional context
N/A