Nicolas Sarlin
9131aaa383
fix(doc): uniformized readme file names
2025-05-19 15:22:34 +02:00
Nicolas Sarlin
a01949e630
fix(bench): compilation error without the internal-keycache feature
2025-05-19 09:50:29 +02:00
Arthur Meyre
30a58cdd1a
chore: update version in docs to 1.2.0
tfhe-zk-pok-0.6.0
tfhe-versionable-0.6.0
tfhe-versionable-derive-0.6.0
tfhe-cuda-backend-0.10.0
2025-05-16 17:10:12 +02:00
Agnes Leroy
03325bf94e
feat(gpu): add memory tracking functions for add/sub and scalar add/sub
2025-05-16 16:39:34 +02:00
Nicolas Sarlin
786fe66495
chore(zk): check that crs group element at index n is 0
2025-05-16 16:38:27 +02:00
Baptiste Roux
9ee8259002
feat(hpu): Add Hpu backend implementation
...
This backend abstract communication with Hpu Fpga hardware.
It define it's proper entities to prevent circular dependencies with
tfhe-rs.
Object lifetime is handle through Arc<Mutex<T>> wrapper, and enforce
that all objects currently alive in Hpu Hw are also kept valid on the
host side.
It contains the second version of HPU instruction set (HIS_V2.0):
* DOp have following properties:
+ Template as first class citizen
+ Support of Immediate template
+ Direct parser and conversion between Asm/Hex
+ Replace deku (and it's associated endianess limitation) by
+ bitfield_struct and manual parsing
* IOp have following properties:
+ Support various number of Destination
+ Support various number of Sources
+ Support various number of Immediat values
+ Support of multiple bitwidth (Not implemented yet in the Fpga
firmware)
Details could be view in `backends/tfhe-hpu-backend/Readme.md`
2025-05-16 16:30:23 +02:00
Agnes Leroy
a7d8d2b1d4
feat(gpu): revert enables the user to perform computation on multi-gpu using a custom selection of GPUs
...
This reverts commit 0280dbeb41 .
2025-05-15 18:01:17 +02:00
David Testé
8d1058364c
chore(ci): fix env var usage in make recipe for gpu benchmarks
2025-05-15 11:15:45 +02:00
Pedro Alves
0280dbeb41
feat(gpu): enables the user to perform computation on multi-gpu using a custom selection of GPUs
2025-05-14 09:24:12 +02:00
David Testé
97b5973e4c
chore(bench): store object measurements results in tfhe-benchmark
2025-05-13 16:05:16 +02:00
Agnes Leroy
406425dca4
chore(gpu): add hardware types for gpu bench
2025-05-13 11:51:24 +02:00
Agnes Leroy
fd79c4f972
chore(bench): parallelize transfer bench
2025-05-13 10:45:48 +02:00
David Testé
a96970e8c3
chore: update clap dependency version to 4.5.30
2025-05-13 10:35:51 +02:00
Agnes Leroy
67f11a44df
chore(gpu): parallelize dex bench
2025-05-12 18:14:24 +02:00
David Testé
aa6dadfe69
chore(ci): ensure minimal permission for github default token
...
With recent enforcing of the least permissions for GITHUB_TOKEN, pull-request from external contributors would trigger systematic error (i.e. on repository checkout) in the continuous integration pipeline.
Allowing contents:read fixes this behavior.
2025-05-12 18:07:02 +02:00
David Testé
ca1c5659a1
chore(ci): avoid double-quote on dry-run variable
...
If the DRY_RUN variable is empty and double-quoted to perform a safe expansion, then `cargo publish` treat the environment variable as `""` and thus fail by handling an unrecognized argument.
2025-05-12 15:25:17 +02:00
David Testé
031efaa39f
chore(ci): remove misleading continue-on-error
...
These continue-on-error would lead to misleading report in Action tab since it would display a successful workflow on the global status page while a job may have failed inside.
2025-05-10 14:26:53 +02:00
Arthur Meyre
6cccaf3f66
chore: fix Makefile to specify toolchain for cargo xtask
2025-05-09 18:32:21 +02:00
Nicolas Sarlin
4e73b4c68c
chore(gpu): bump cuda backend version to 0.10.0
2025-05-09 17:18:23 +02:00
Nicolas Sarlin
00b2c35f00
fix(shortint): store correct ap in ciphertext during encryption
2025-05-09 13:54:48 +02:00
David Testé
67ec4a28c1
chore(bench): move benchmarks to their own crate
...
This is done to speed-up compilation duration by avoiding
recompiling tfhe each time a modification is made in a benchmark
file.
2025-05-09 13:46:27 +02:00
Arthur Meyre
d197a2aa73
chore: TFHE-rs 1.2.0
...
- update parameters deduped for classic and multi bit
2025-05-08 09:30:36 +02:00
Arthur Meyre
11703fe3c1
chore: update v1_1 parameters so that comments are doc comments
...
- this allows to keep relevant information with param_dedup, as param_dedup
uses syn, comments are lost as syn does not preserver comments in the AST
2025-05-08 09:30:36 +02:00
Arthur Meyre
d05ee42629
chore: add param_dedup to alias redundant parameter defs across versions
2025-05-08 09:30:36 +02:00
Agnes Leroy
014d18aae9
chore(bench): update pbs count parsing in dex benchmark
2025-05-07 16:44:31 +02:00
Nicolas Sarlin
5a62301968
refactor(zk): run pke_v2 verification inside dedicated thread pools
...
Reducing the number of available threads actually improve performance
2025-05-07 15:18:24 +02:00
Andrei Stoian
e7de363d0c
feat(gpu): add poly product with circulant matrix
2025-05-07 10:10:45 +02:00
Arthur Meyre
9be9a5d2f4
feat(shortint): add CompressedAtomicPatternServerKey
2025-05-07 09:50:16 +02:00
Arthur Meyre
7724b7857f
feat(shortint): allow the KS32 parameters to have non native KSK modulus
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
597c61bbdb
chore(shortint): add tests for the KS32 AP
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
8a26df9177
chore(tests): add support for AP in tests and benches
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
c17a2527b7
feat(shortint): introduce the KS32 atomic pattern
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
0fd9537ae0
refactor(core): make ksk generation generic over the scalar type
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
3df5ea313a
refactor(shortint): make modswitch compression generic over scalar
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
76f0b57f80
refactor(shortint): make oprf generic over the Scalar type
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
6cde78171f
refactor(shortint): support any scalar in modswitch noise reduction
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
eb0087bd6a
refactor(core): allow different input/output scalars in multibit br
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
8c5bf6b231
refactor(shortint): support any ciphertext modulus in the engine
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
ca31e5fbb5
feat(shortint): add the dynamic ap
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
19f0c649e6
refactor(shortint): engine can create any atomic pattern sk
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
c6a493954b
feat(shortint): insert the AP inside the ServerKey
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
4df790550d
feat(shortint): create atomic pattern trait and enum
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
056716fbb9
refactor(shortint): remove degree in generate_lookup_table_no_encode
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
0e70dd3641
refactor(shortint): use a dedicated type for lut size
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
604c3b0c75
refactor(shortint): function to directly set noise level to nominal
...
This allows to call it without having to define a max_noise_level
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
0160289a14
refactor(shortint): use a single lwe buffer inside shortint engine
...
Since only one kind is used at a time we don't need do allocate both
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
8c3485e774
refactor(shortint): factorize generate_lookup_table
2025-05-06 14:48:07 +02:00
Nicolas Sarlin
d969fe94ab
refactor(shortint): wrap PbsOrder into AtomicPattern in ciphertext
2025-05-06 14:48:07 +02:00
David Testé
ce6454cbb1
chore(ci): ignore a shellcheck rule in actionlint analysis
2025-05-06 14:06:17 +02:00
David Testé
664311228f
chore(ci): pin dependencies that are directly downloaded
2025-05-06 14:06:17 +02:00