# Benchmarks

This document summarizes the timings of some homomorphic operations over 64-bit encrypted integers, depending on the hardware. More details are given for [the CPU](/tfhe-rs/get-started/benchmarks/cpu.md), [the GPU](/tfhe-rs/get-started/benchmarks/gpu.md), [the HPU](/tfhe-rs/get-started/benchmarks/hpu.md) or [zeros-knowledge proofs](/tfhe-rs/get-started/benchmarks/zk-proof-benchmarks.md).

The cryptographic parameters used for benchmarking follow a tweaked uniform (TUniform) noise distribution instead of a Gaussian. The main advantage of this distribution is to be bounded, whereas the usual Gaussian one is not. In some practical cases, this can simplify the use of homomorphic computation. See the [noise section](/tfhe-rs/get-started/security-and-cryptography.md#noise) of the Security and cryptography documentation page for more information on the noise distributions.

You can get the parameters used for benchmarks by cloning the repository and checking out the commit you want to use (starting with the v0.8.0 release) and run the following make command:

```console
make print_doc_bench_parameters
```

### Operation latency CPU vs GPU comparison

{% hint style="info" %}
Benchmarks in the Table below were launched on:

* CPU: using an `AWS hpc7a.96xlarge` instance equipped with two 96-core `AMD EPYC 9R14 CPU @ 2.60GHz` and 740GB of RAM
* GPU: using 8xH100 GPU, and rely on the multithreaded PBS algorithm
* HPU: using 1xv80 Alveo board
  {% endhint %}

![](/files/C9iujVEKg18nnciFwXam)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zama.org/tfhe-rs/get-started/benchmarks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
