Skip to content

TFHE-rs v1.2.0

Compare
Choose a tag to compare
@nsarlin-zama nsarlin-zama released this 20 May 14:17
· 491 commits to main since this release
tfhe-rs-1.2.0

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 generic AtomicPatternServerKey object which allows to customize the content of the key materials.
  • The conformance parameters for the integer ServerKey are now wrapped inside AtomicPatternParameters.

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