Commit Graph

2330 Commits

Author SHA1 Message Date
Nicolas Sarlin
312ce494bf chore(zk): add 1 * 64 benches with production CRS 2025-12-17 15:06:37 +01:00
Nicolas Sarlin
5f2e7e31f1 chore(zk): align wasm bench and integer bench 2025-12-17 15:06:37 +01:00
Thomas Montaigu
d394af7f4d chore: bump dyn-stack to 0.13
Notable changes:
- StackReq methods no longer returns Result<StackReq, SizeOverflow>
  instead, StackReq contains the invalid state.
  Now, its when we create a PodBuffer that we can check/catch if the
  size req is invalid by catching errors when calling
  `PodBuffer::try_new`. Its also possible to manually check that
  `stack_req != StackReq::OVERFLOW`

- GlobalaPodBuffer is now PodBuffer
2025-12-15 10:02:17 +01:00
Andrei Stoian
78d1ce18c1 feat(gpu): support keyswitch 64/32 2025-12-12 22:01:49 +01:00
Arthur Meyre
14d49f0891 chore: add possibility to manually populate tfhe FFT plan cache 2025-12-12 19:06:47 +01:00
Nicolas Sarlin
e544dfc08e fix(integer): handle large string size in DataKind::num_blocks 2025-12-12 13:10:14 +01:00
Nicolas Sarlin
5891a4d78a fix(hl): handles empty compact lists 2025-12-12 13:10:14 +01:00
Nicolas Sarlin
f17cd9bd37 fix(integer): handle message mod 0 in num_blocks 2025-12-12 13:10:14 +01:00
Nicolas Sarlin
1479315725 fix(integer): handles num_blocks_per_integer is 0 in ct list upgrade 2025-12-12 13:10:14 +01:00
Nicolas Sarlin
b5e5058759 fix(core): handle lwe dim of 0 when computing ct list size 2025-12-12 13:10:14 +01:00
Nicolas Sarlin
d98033c71d fix(integer): check overflows when computing expected list size 2025-12-12 13:10:14 +01:00
Nicolas Sarlin
c7b869c956 fix(core): use saturating_* to convert from lwe dim and size 2025-12-12 13:10:14 +01:00
Nicolas Sarlin
50b76817c9 fix(shortint): use saturating_sub to get degree from message modulus 2025-12-12 13:10:14 +01:00
Thomas Montaigu
aa49d141c7 feat: add MetaParameterFinder 2025-12-12 11:20:03 +01:00
Thomas Montaigu
be1de6ef2b chore: impl Versionize for MetaParameters 2025-12-12 11:20:03 +01:00
Guillermo Oyarzun
11579bd3d0 feat(gpu): create noise and pfail tests for pbs + ks + ms 2025-12-12 09:41:11 +01:00
Arthur Meyre
403cabb70a chore: bump CSPRNG to 0.8.0 since MSRV was bumped 2025-12-11 13:12:36 +01:00
Arthur Meyre
63b46c3b99 chore: bump tfhe-versionable to 0.7 since the MSRV was changed 2025-12-11 13:12:36 +01:00
Arthur Meyre
a5aa3c366f chore: bump tfhe-hpu-backend 2025-12-11 13:12:36 +01:00
Arthur Meyre
5818b08f2c chore: bump tfhe-cuda-backend to 0.13.0 2025-12-11 13:12:36 +01:00
Thomas Montaigu
4f14343668 chore: impl Versionize for NormalizedHammingWeightBound 2025-12-10 10:41:37 +01:00
Arthur Meyre
4da1e19d5c chore: fix typo in js wasm API doc 2025-12-09 16:33:37 +01:00
Nicolas Sarlin
4d6aeebd0c chore: detect degree in compact list conformance 2025-12-04 13:59:03 +01:00
Arthur Meyre
f8ee0b3649 chore: add comment on the value causing issues in 64 bits decomp tests 2025-12-04 09:43:32 +01:00
Arthur Meyre
37c872786e chore: add ref 2025-12-04 09:43:32 +01:00
Arthur Meyre
85a281efc5 chore: update FFT128 params to match production params in core
- allows to be even more confident about fft128 tests
2025-12-04 09:43:32 +01:00
Arthur Meyre
a9d2137424 chore: add test and fix for specialized decomposition code
- add dedicated edge case for u128
- fix all implementations that can be used and run tests on the same
u128 edge case
2025-12-04 09:43:32 +01:00
Arthur Meyre
3dcdf9043a chore: add arithmetic right shift for split u128 values
- this applies a shift that extends the sign of the value interpreted as an
i128, this will be required for the fix of the specialized decomp code for
u128
2025-12-04 09:43:32 +01:00
Arthur Meyre
dfcceefa83 chore: add (previously) failing test case for u128 decomposition
- the code fix was already correct, but we add another edge case because we
have specialized decomposition code for u128 that we need to update and we
need a previously failing case, this serves as reference for the fix of the
specialized implementation
2025-12-04 09:43:32 +01:00
Enzo Di Maria
6752249f7f refactor(gpu): moving vector_comparisons's functions to the backend 2025-12-03 09:11:00 +01:00
Enzo Di Maria
cc33161b97 refactor(gpu): moving cast_to_signed to the backend 2025-12-02 12:40:47 +01:00
Nicolas Sarlin
f9c2a5d423 chore: use dedicated types for compressed modswitched conformance 2025-12-01 14:39:06 +01:00
Enzo Di Maria
3cfbaa40c3 refactor(gpu): unchecked_index_of_clear to backend 2025-11-28 14:34:53 +01:00
Andrei Stoian
e2063c8ef4 chore(gpu): bench KS latency batches 2025-11-27 17:32:44 +01:00
Enzo Di Maria
0aa0918fea refactor(gpu): vector_find's functions to backend 2025-11-27 13:36:10 +01:00
Nicolas Sarlin
79a89c157a chore(fft-ntt): bump to 0.10.0 and 0.7.0 2025-11-26 13:32:14 +01:00
Agnes Leroy
ef30be5086 chore(gpu): reduce long run tests number of inputs to avoid timeout on 4090 2025-11-26 13:06:14 +01:00
Nicolas Sarlin
212b925b5e chore: use rust-toolchain.toml for default toolchain 2025-11-26 11:28:21 +01:00
Nicolas Sarlin
f8a958663b chore(tfhe): rename nightly feature flag to avx512 2025-11-26 11:28:21 +01:00
Nicolas Sarlin
851bd01873 chore(fft): rename nightly feature flag to avx512 2025-11-26 11:28:21 +01:00
Nicolas Sarlin
8d1f6d4d06 chore(ntt): rename nightly feature flag to avx512 2025-11-26 11:28:21 +01:00
Nicolas Sarlin
8e566c5765 chore: update pulp and bytemuck 2025-11-26 11:28:21 +01:00
Thomas Montaigu
2002184da4 feat(Tag): impl From<&str> 2025-11-25 10:24:25 +01:00
Thomas Montaigu
614ca52749 feat(CompressedXofKeySet): impl key gen of ClientKey
This adds the implemention of the ClientKey generation
that respects the threshold specs, some points are:

* 2 random generators are used one for everything public (masks)
  the other for everything private (private keys and noise).
  These generators are seeded once.
* binary secret keys are generated using
  `fill_slice_with_random_uniform_binary_bits` and support pmax param
2025-11-25 10:24:25 +01:00
Arthur Meyre
48cc709cf9 test(core): add exhaustive decomposition test on several levels
- also add a verification that recomposition works in the previously added
edge case test
2025-11-24 18:40:36 +01:00
David Testé
a75b5107ff chore(docs): change svg benchmark table names
This is done to ease automated table generation through continuous integration pipeline.
2025-11-24 14:03:08 +01:00
Enzo Di Maria
32b1a7ab1d refactor(gpu): unchecked_match_value_or to backend 2025-11-24 13:50:15 +01:00
Enzo Di Maria
1a7efbc21b fix(gpu): constant number of blocks for outputs of match_value 2025-11-21 15:56:54 +01:00
Agnes Leroy
bc0a4fb0d6 chore(gpu): add classical pbs tests to HL API, complement missing tests, classical in long run 2025-11-21 09:15:04 +01:00
Enzo Di Maria
c6709a82c0 refactor(gpu): match_value to backend with multiple streams 2025-11-20 17:11:15 +01:00