Commit Graph

54 Commits

Author SHA1 Message Date
rudy
06c8bdfce0 fix: disable cache write on macos 2022-09-21 09:45:00 +02:00
Mayeul@Zama
860c96ef46 refactor(optimizer): remove restart_at
fix new clippy lints
2022-09-19 15:10:52 +02:00
rudy
48e43c5762 chore: clarify no luts optimization and cuts 2022-09-19 15:10:52 +02:00
rudy
e2fa88aec2 feat: adding a persistent cache for decompositions per macro parameters 2022-09-16 12:29:18 +02:00
rudy
c1e9f97fee chore(deps): use concrete-npe repo 2022-09-16 10:13:47 +02:00
Mayeul@Zama
8f61988f18 feat(optimizer): distinguish CRT precisions 2022-09-13 11:58:38 +02:00
Mayeul@Zama
8c064ff72f fix(wop-pbs): fix complexity formula 2022-09-13 11:58:38 +02:00
rudy
320e3c1963 fix: dag with 1 tlu layer were sub-optimized assuming multi-layer in cuts 2022-08-31 16:25:39 +02:00
Mayeul@Zama
915cbe6647 style: remove useless #[allow(lint)] 2022-08-31 14:29:08 +02:00
rudy
ef1264a2fd fix(v0-parameters): the restart_at was not checked correctly 2022-08-31 14:18:06 +02:00
Mayeul@Zama
d310561136 feat(complexity): add Gpu complexity
refactor: computing_cost module
style: regroup search space parameters
style: use config struct to regroup parameters
2022-08-30 12:48:56 +02:00
rudy
bf6bdcfec2 fix: bug converting manp to variance factor 2022-08-22 11:29:25 +02:00
rudy-6-4
fc6120ed74 fix: accept higher than 16bits and move to classical when no tlu (#135)
this make levelled only circuit working without crt.

Co-authored-by: Quentin Bourgerie <bourgerie.quentin@gmail.com>
2022-08-19 13:59:08 +02:00
Quentin Bourgerie
efc3a85c66 fix: Return the crt_decomposition from the optimizer 2022-08-16 15:26:18 +02:00
rudy
af8296e6d2 feat(dag): avoid a copy on comment when possible 2022-08-16 14:58:40 +02:00
rudy
b7c148257b feat(dag): compute global p-error after the local one is optimized
Resolves zama-ai/products#302
2022-08-12 15:00:19 +02:00
rudy
517ab218dc feat(dag): support dot broadcast
this is to facilitate a test with many multiplication
2022-08-12 15:00:19 +02:00
Quentin Bourgerie
4fffc26bbc fix: Don't let the optimizer to be to optimistic, up to 16 bits we didn't have yet a solution (#131) 2022-08-12 10:32:18 +02:00
rudy
ba15b8d8aa feat: woppbs compiler entry point 2022-07-19 18:10:34 +02:00
rudy
75b2f76d78 fix(woppbs): fix fatal noise estimate 2022-07-11 15:40:14 +02:00
rudy
170ce8d725 fix(dag): tensorized lut are now counted as several lut 2022-07-04 18:11:15 +02:00
Mayeul@Zama
1707549139 fix: complexity to convert ggsw to fft in wop pbs 2022-07-04 11:29:10 +02:00
Samuel Tap
8237138c78 feat(securityLevel): supporting 80, 96, 112, 128, 144, 160, 176, 192, 256 2022-06-28 10:25:13 +02:00
Samuel Tap
ca578a9c12 feat(securityLevel): security weights in hmap 2022-06-28 10:25:13 +02:00
Mayeul@Zama
b446d3124d feat(pareto): add benchmark for pareto computation 2022-06-27 15:38:30 +02:00
rudy
b4821b4b8c feat(woppbs): use pareto_blind_rotate/pareto_keyswitch routines, 4x speedup 2022-06-27 12:09:04 +02:00
rudy
8775cc0be3 fix(woppbs): handle complexity tie for lower error rate and better reproducibility 2022-06-22 17:21:05 +02:00
Samuel Tap
0ab7ace9ac feat: fft noise for glwe in [1, 6] 2022-06-22 11:39:47 +02:00
rudy
cffe5e4ab0 feat(cpp): expose dag optimization 2022-06-21 17:19:36 +02:00
rudy
d220eb4009 feat: multiprecision, allow precision change in lut 2022-06-20 18:09:12 +02:00
rudy
b3e3a10f22 feat: precision specific noise summary 2022-06-20 13:56:15 +02:00
rudy
d6a6ee6290 chore(woppbs): cut optimize_one in two macro/micro
this is a first step to use pareto_blind_rotate, pareto_keyswitch
2022-06-17 00:20:44 +02:00
Mayeul@Zama
0b621adfb1 fix(clippy): fix nightly clippy warnings 2022-06-16 13:30:23 +02:00
Mayeul@Zama
585c17a163 store precomputation in the macro-parameters loops as vecs 2022-06-16 11:26:05 +02:00
rudy
5d5f7a4016 feat(woppbs): make code more readable, reexpress some cuts (x4 speed) 2022-06-16 10:18:34 +02:00
rudy
b44bd6cbfe feat: x8 faster wop, better cache usage 2022-06-16 10:09:25 +02:00
rudy
b628cd64fb feat: initial experimental wop-pbs 2022-06-16 09:44:29 +02:00
rudy
8f2c21ddbe feat: dag + solo key optimization 2022-06-09 16:00:26 +02:00
Mayeul@Zama
bc52e3cd21 fix(naming): rename optimise optimize 2022-05-24 18:58:44 +02:00
Mayeul@Zama
2d88eda5eb chore(cpp): remove c interface 2022-05-23 15:38:27 +02:00
rudy
572b5b046b fix: update decomposition pareto front 2022-05-19 12:03:01 +02:00
Mayeul@Zama
d5cc6559ee feat(interface): add input graph creation 2022-05-18 11:34:12 +02:00
rudy
058d08cf49 feat: verify the computed solution error probability 2022-05-13 09:38:16 +02:00
rudy-6-4
0e6a9b01a0 feat: new dag with Lut/Dot/LevelledOp 2022-05-10 16:46:51 +02:00
rudy
0a2344328a chore(graph): move root file to its module directory 2022-05-05 18:12:52 +02:00
Mayeul@Zama
fee5b10b0e feat(cpp): use cxx (was cbindgen) and mv interface in a workspace 2022-05-05 17:34:22 +02:00
Mayeul@Zama
8f3cb77d95 use assert_eq where possible 2022-04-25 09:38:25 +02:00
Mayeul@Zama
129e4ed968 fix clippy lints
fix clippy::unreadable_literal
2022-04-25 09:38:25 +02:00
Mayeul@Zama
b48c21db93 add polynomial_size method to GlweParameters 2022-04-25 09:38:25 +02:00
Mayeul@Zama
ea397b1895 import constant 2022-04-25 09:38:25 +02:00