Skip to content

Commit

Permalink
chore(doc): last fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
jborfila authored and IceTDrinker committed Apr 13, 2023
1 parent 37da2f1 commit a2384e0
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
20 changes: 10 additions & 10 deletions tfhe/docs/getting_started/benchmarks.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Benchmarks

Due to their nature, homomorphic operations are obviously slower than their clear equivalent. Some timings are exposed for basic operations. For completeness, some benchmarks of other libraries are also given.
Due to their nature, homomorphic operations are naturally slower than their clear equivalent. Some timings are exposed for basic operations. For completeness, benchmarks for other libraries are also given.

All the benchmarks had been launched on an AWS m6i.metal with the following specifications: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz and 512GB of RAM.
All benchmarks were launched on an AWS m6i.metal with the following specifications: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz and 512GB of RAM.

## Boolean

This measures the execution time of a single binary Boolean gate.

### tfhe-rs::boolean.

| Parameter set | concrete-fft | concrete-fft + avx512 |
| Parameter set | Concrete FFT | Concrete FFT + avx512 |
| --------------------- | ------------ | --------------------- |
| DEFAULT\_PARAMETERS | 8.8ms | 6.8ms |
| TFHE\_LIB\_PARAMETERS | 13.6ms | 10.9ms |
Expand All @@ -29,10 +29,10 @@ This measures the execution time of a single binary Boolean gate.
| MEDIUM | 113ms | 50.2ms |


## tfhe-rs::shortint.
This measures the execution time for some operations and some parameter sets of shortint.
## Shortint
This measures the execution time for some operations and some parameter sets of tfhe-rs::shortint.

This uses the concrete-fft + avx512 configuration.
This uses the Concrete FFT + avx512 configuration.

| Parameter set | unchecked\_add | unchecked\_mul\_lsb | keyswitch\_programmable\_bootstrap |
| --------------------------- | -------------- | ------------------- | ---------------------------------- |
Expand All @@ -51,11 +51,11 @@ Next, the timings for the operation flavor `default` are given. This flavor ensu
| PARAM\_MESSAGE\_4\_CARRY\_4 | 852.5 ms | 839.7 ms | 828.1 ms |


## tfhe-rs::integer.
This measures the execution time for some operations sets of integer.
## Integer
This measures the execution time for some operation sets of tfhe-rs::integer.

All the timings are related to parallelized Radix-based integers operations, where each block is encrypted using PARAM\_MESSAGE\_2\_CARRY\_2.
To ensure predictable timings, the operation flavor is the `default` one: a carry propagation is computed after each operation. Operation cost could be reduced by using `unchecked`, `checked` or `smart`.
All timings are related to parallelized Radix-based integer operations, where each block is encrypted using PARAM\_MESSAGE\_2\_CARRY\_2.
To ensure predictable timings, the operation flavor is the `default` one: a carry propagation is computed after each operation. Operation cost could be reduced by using `unchecked`, `checked`, or `smart`.

| Plaintext size | add | mul | greater\_than (gt) | min |
| -------------------| -------------- | ------------------- | --------- | ------- |
Expand Down
2 changes: 1 addition & 1 deletion tfhe/docs/integer/serialization.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

As explained in the introduction, some types (`Serverkey`, `Ciphertext`) are meant to be shared with the server that does the computations.

The easiest way to send these data to a server is to use the serialization and deserialization features. Concrete integer uses the serde framework, so serde's Serialize and Deserialize are implemented.
The easiest way to send these data to a server is to use the serialization and deserialization features. TFHE-rs uses the serde framework, so serde's Serialize and Deserialize are implemented.

To be able to serialize our data, a [data format](https://serde.rs/#data-formats) needs to be picked. Here, [bincode](https://crates.io/crates/bincode) is a good choice, mainly because it is binary format.

Expand Down

0 comments on commit a2384e0

Please sign in to comment.