# TFHE-rs v1.2 - May 2025

## Summary

***

TFHE-rs v1.2.0 introduces the new **HPU** backend. The HPU (Homorphic Processing Unit) is a hardware accelerator for FHE operations.

See full details below:

* [CPU](#cpu)
* [GPU](#gpu)
* [HPU](#hpu)

{% hint style="danger" %}

#### Breaking changes

* 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`.
  {% endhint %}

## CPU

***

### New features&#x20;

* 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

### Fixes&#x20;

* 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

***

### New features&#x20;

* 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&#x20;

* 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

## HPU

***

### New features&#x20;

* Add Hpu backend implementation

## Resources

***

* [GitHub release](https://github.com/zama-ai/tfhe-rs/releases/tag/tfhe-rs-1.2.0)&#x20;
* [Documentation](https://docs.zama.ai/tfhe-rs/1.2)
