-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design & implement Benchmarks for libraries #23
Comments
Ideally, we would also benchmark Cingulata's built-in implementation, but that might not be feasible. The same goes for Alchemy. |
Python script for plotting added in 792b09c. Please use the following column names for the CSV of the measurements:
|
Parameters(✔︎): Parameter configured in current benchmark implementation. BFV Parameters
CKKS ParametersTODO CGGI ParametersTODO |
@AlexanderViand It looks like PALISADE does not implement TFHE but FHEW only, although in their README they list both Ducas-Micciancio (FHEW) and Chillotti-Gama-Georgieva-Izabachene (TFHE) schemes for Boolean circuit evaluation. Should I just use FHEW instead? |
Oh, that's interesting! But sure, let's compare it anyway - might be interesting to see if there's a significant difference to TFHE |
Benchmarking the libraries against each other:
Micro-benchmarks
Libraries to evaluate
BFV/BGV
CKKS
CGGI
Parameter settings to evaluate
We should fix two plaintext space sizes, e.g. 1-bit (binary) and 64-bit and use that for all benchmarks, just so that we don't blow up the space of possibilities too much.
For levelled schemes, we should evaluate with 1-mult params and with e.g. 10 levels.
For binary-only libraries like TFHE, the 64-bit version then uses an adder/mult circuit. In that case, Ctxt-Ptxt optimizations are possible but not implemente which is fine, since this isn't the main core of the paper anyway.
For fair comparison among implementations of the same scheme, we should hardcode the parameters to be equal everywhere.
Finally, we could consider implementing the benchmark applications (NN, cardio, Chi-Squared) for each library, but this out of scope for the current timeframe.
The text was updated successfully, but these errors were encountered: