TFHE-rs v1.2.0
·
491 commits
to main
since this release
Summary
TFHE-rs v1.2.0 introduces the new HPU backend. The HPU (Homorphic Processing Unit) is a hardware accelerator for FHE operations.
What's Changed
Breaking changes
Warning
- The shortint
ServerKey
does not directly hold the bootstrapping and keyswitch keys anymore. Instead, they are stored inside a genericAtomicPatternServerKey
object which allows to customize the content of the key materials. - The conformance parameters for the integer
ServerKey
are now wrapped insideAtomicPatternParameters
.
New features
HPU
- Add Hpu backend implementation
CPU
- Add back&forth NTT implementation
- Add support for dynamic atomic pattern at the shortint level. They allow to customize how lookup tables are evaluated.
- Add the KeySwitch32 atomic pattern
- Enable custom modulus generation for TUniform
- Add AsRef implementation on ServerKey to access NoiseSquashingKey
- Run ZK verification inside dedicated thread pools to redcuce the latency
GPU
- Implement ZK's expand
- Implement 128 bit classic CG PBS
- Add memory tracking functions for add, subtract, scalar add and scalar subtract
- Add necessary entry points for 128 bit compression
- Add circulant matrix for one vs many poly product
Fixes
CPU
- Fix success probability for Ternary Uniform generation
- Remove additional body coeff in multi bit ms compression
- Check that crs group element at index n is 0
GPU
- Update panic condition on upper bound for the number of cuda blocks to apply only to Thread Block Clusters
- Fix multi device execution with drift