Commit Graph

3636 Commits

Author SHA1 Message Date
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
Guillermo Oyarzun
28ea0bc086 fix(gpu): force uint64 when calculating lwe chunksize 2025-11-25 09:52:16 +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é
6141ad2eee chore(bench): fix bench prefix pattern for hlapi ops
To follow the standard used by other HLAPI benchmarks and ease parsing for data_extractor.
2025-11-24 17:56:10 +01:00
Nicolas Sarlin
580e545b14 chore(wasm): install wasm bindgen before using wasm pack 2025-11-24 15:58:01 +01:00
David Testé
0b98ef98fc chore(ci): handle inputs vars safely in python script 2025-11-24 14:03:08 +01:00
David Testé
b0393c0acb chore(bench): run scalar ops in integer deduplicated cpu bench 2025-11-24 14:03:08 +01:00
David Testé
87bea9dcf1 chore(ci): remove 2m40 p-fail from core_crypto array generation 2025-11-24 14:03:08 +01:00
David Testé
b3c3647530 chore(ci): add workflow to update documentation benchmark tables
This new workflow can trigger all the required benchmarks needed
to populate benchmarks tables in documentation.
It also can generate SVG tables and store them as artifacts.
Optionally, it can open a pull-request to update the current
tables in documentation.
2025-11-24 14:03:08 +01:00
David Testé
3c76dd8cad chore(ci): small fixes on data_extractor filename generation
This is done to ease automated SVG tables for tfhe-rs public documentation.
2025-11-24 14:03:08 +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
David Testé
184f40439e chore(ci): use env to handle inputs securely in python script 2025-11-24 12:19:53 +01:00
Agnes Leroy
1ed8710868 chore(gpu): fix sanitizer script 2025-11-24 09:42:55 +01:00
David Testé
97214f801e chore(ci): teardown build instance only if setup has run
In case of a re-run attempt, if one asks for only failing jobs to
be re-run (e.g. MacOS job on GitHub hosted runner) and the
previous attempt was successful regarding setup-build-teardown,
then we would try to teardown again an instance already gone.
This would cause an error in the CI.

By checking the 'github.run_attempt' number, we ensure that we run
the teardown only if the setup has occurred during the same run
attempt.
2025-11-21 17:16:14 +01:00
David Testé
25a8bbfd89 chore(ci): make slack notify fail in case of error on teardown
On instance teardown we want to be informed of any failure to
avoid having zombies running due to Slack notify action error
being silenced.
2025-11-21 17:15:58 +01:00
David Testé
ef1e091ce2 chore(ci): put slack variables in global env for builds
Without them, we are unable to perform Slack notification.
2025-11-21 17:15:58 +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
Guillermo Oyarzun
02312e23ea fix(gpu): fix pbs128 selection for small num samples 2025-11-21 10:57:14 +01:00
Agnes Leroy
e5742e63e9 chore(gpu): add compute-sanitizer run on H100 2025-11-21 09:15:04 +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
Agnes Leroy
0f5e538f9a chore(gpu): add better panic when calling old compression functions 2025-11-20 17:06:06 +01:00
David Testé
58378b7972 chore(bench): add dedicated targets for aes cuda benchmarks 2025-11-20 16:58:06 +01:00
Arthur Meyre
9b5df143cb chore: update dp_ks_pbs128_packingks test to take metaparameters 2025-11-20 16:03:50 +01:00
Arthur Meyre
cbac102a0d chore: update dp_ks_ms test to take metaparameters 2025-11-20 16:03:50 +01:00
Arthur Meyre
0da331590c chore: update cpk_ks_ms test to take metaparameters
- also added a seemingly missing sanity check for cpk_ks_ms
2025-11-20 16:03:50 +01:00
Arthur Meyre
e5a15b33d9 chore: fix incorrect number in seed_bytes for rerand noise check test
- has no impact on correctness of test, in addition the size of the array
would have been the same due to integer division
2025-11-20 16:03:50 +01:00
Arthur Meyre
d68645c493 chore: update br_rerand_dp_ks_ms test to take metaparameters 2025-11-20 16:03:50 +01:00
Arthur Meyre
a72de66744 chore: update br_dp_packing_ms test to take metaparameters 2025-11-20 16:03:50 +01:00
Arthur Meyre
1b924fa872 chore: update br_dp_ks_ms test to take metaparameters 2025-11-20 16:03:50 +01:00
Arthur Meyre
560f595620 chore: remove temporary test param 2025-11-20 16:03:50 +01:00
Mayeul@Zama
f4665886ee fix(integer): fix StaticUnsignedBigInt cast into u128 2025-11-20 15:40:39 +01:00
Beka Barbakadze
80cacbd079 feat(gpu): add boolean bitops in cuda backend 2025-11-20 14:56:21 +01:00
tmontaigu
1b17cfc0f8 chore(c-api): add missing docs for some C function
Add explanations on the fact that config and config buider
do not need to be freed/
2025-11-20 14:46:54 +01:00
David Testé
a5c248566d chore(ci): run parameters_check workflow if files change 2025-11-20 12:36:21 +01:00
David Testé
eb2cf19d10 chore(ci): install rust toolchain for parameters checks
This is needed since our AWS EC2 image doesn't embed Rust toolchain.
2025-11-20 11:01:37 +01:00
David Testé
4928efcca8 chore(ci): remove check on secret availability for params checks
This is needed only when the triggering event is pull_request and PR comes from an external contributor.
2025-11-20 11:01:37 +01:00
Nicolas Sarlin
edb435bd46 chore: update msrv to 1.91.1 2025-11-20 09:29:37 +01:00
David Testé
071e70c037 chore(bench): fix benchmark id pattern for aes and aes256 2025-11-19 17:23:05 +01:00
Arthur Meyre
19c2146b2d chore: remove redundant log2/powf in params_to_file.rs 2025-11-19 12:59:26 +01:00
David Testé
c5bac7994a chore(ci): fix typos in newly checked ci folder 2025-11-19 11:51:02 +01:00
David Testé
bdef5b358e chore(ci): ignore only specific files in ci folder
The whole ci/ folder was ignored, that would cause issue regarding search capability in some IDE.
2025-11-19 11:51:02 +01:00
Arthur Meyre
4229523c50 chore: add artificial intelligence contribution guidelines 2025-11-19 10:43:34 +01:00
Nicolas Sarlin
ac6178fd35 chore(zk): add batched mode for verification pairings 2025-11-19 09:24:13 +01:00
David Testé
893c321e60 chore(ci): update repositories before any other apt operation
This is done to avoid failure on dependencies' installation.
2025-11-18 14:13:02 +01:00
David Testé
51139e6e82 chore(ci): use builds result to pass branch protection
Instance teardown might fail regardless the result of build
commands. To make CI green in pull-request we need to check the
result of the build commands instead of the whole workflow result.
Doing so ensure a PR could pass branch protection rules even if
the teardown fails.
2025-11-18 11:44:56 +01:00
David Testé
5ce068642e chore(ci): replace workflow name in cpu weekly bench 2025-11-18 11:42:10 +01:00
David Testé
5c2fe133e1 chore(ci): use explicit boolean checking on scheduled cpu bench
It seems that boolean output set by user is not coerced into
boolean type by the runner. Rather it checks if the string
associated ("true" or "false") is not empty.
2025-11-18 11:42:10 +01:00
David Testé
d12bbd848c chore(ci): fix op_flavor generation for weekly cpu bench
Sub-workflow is supposed to handle comma-separated values not an array.
2025-11-18 11:42:10 +01:00