Support a target level for CKKS bootstrapping
- Dominant language
- MLIR
- Stars
- 906
- Forks
- 171
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 32
Description
CKKS bootstrapping to a configurable lower level than the max effective level (max level - levels that bootstrapping consumes) can be used when not all levels need to be used. This can lower latency, since the bootstrap op will be faster, and subsequent ops at lower levels will also run with lower latency.
But this is not supported by any open-source backends, while this technique is used in Halo / Dacapo - (cf https://github.com/google/heir/issues/2376 https://github.com/google/heir/issues/289).
Linking in the corresponding issues for support in OpenFHE
https://github.com/openfheorg/openfhe-development/issues/927
In the meantime, I'm adding an optional attr to the ckks.bootstrap op with this info to mirror the Halo / Dacapo semantics. What we can do as a workaround is add a regular bootstrap + level reduce in the IR to ensure type consistency.
Contributor guide
Assessment
This issue has not been assessed yet.