Commit Graph

3152 Commits

Author SHA1 Message Date
Umut
0ed1a54c3f refactor(frontend-python): reduce memory usage for table construction of non-multi table lookups 2023-09-28 13:52:51 +02:00
youben11
e4835bd002 feat(compiler): support woppbs in simulation 2023-09-28 09:29:48 +01:00
youben11
0caa659244 refactor(backend): use lwe scalar value (sim) instead of pointer 2023-09-28 09:29:48 +01:00
youben11
23576e1f59 fix(backend): use correct variance in blind_rotate 2023-09-28 09:29:48 +01:00
youben11
cd0f02d99c feat(compiler): support crt encoding in scalars during simulation 2023-09-28 09:29:48 +01:00
youben11
4f2b44c9d8 feat(compiler): support compilation of CRT in simulation 2023-09-28 09:29:48 +01:00
Samuel Tap
a70d2f0b83 feat(backend): add simulation of woppbs 2023-09-28 09:29:48 +01:00
rudy
c84372ec1f feat(optimizer): multi-parameters, direct variance and cost operation bound nightly-2023.09.27 nightly-2023.09.28 2023-09-26 15:01:10 +02:00
rudy
7e6ce03b09 fix(optimizer): multi-parameters, DEBUG, display reason for lower bound 2023-09-26 15:00:29 +02:00
Benoit Chevallier-Mames
af63e900cf docs(frontend): adding a Game of Life example
closes #457
2023-09-26 12:48:38 +02:00
rudy
d64c9b0f25 fix(optimizer): multi-parameters, shorter_dump for the compiler --display-optimizer-choice nightly-2023.09.26 2023-09-25 15:55:22 +02:00
rudy
3cd26192bc fix(optimizer): incorrect broadcast shape 2023-09-25 15:53:19 +02:00
rudy
1c0a70f911 fix(compiler): conversion to optimizer dag, bad dot before signed lut
this has no effect apart making the shape incorrect
2023-09-25 15:53:19 +02:00
Umut
f988eccd57 fix(frontend-python): update bad static indexing tests to use a constant inputset for consistent errors v2.4.0-rc1 nightly-2023.09.23 2023-09-22 09:41:15 +02:00
Bourgerie Quentin
6df3b94a2d fix(ci): Don't fail with several tag nightly-2023.09.22 2023-09-21 11:14:16 +02:00
Bourgerie Quentin
19b8b930ab chore(ci): Tag nightly on the public githu repository nightly-2023.09.21 2023-09-20 17:42:01 +02:00
rudy
da283c917b fix(frontend-python): Makefile, portability 'source' 2023-09-20 16:24:23 +02:00
rudy
9bc186c6d5 fix(frontend-python): Makefile, default value for COMPILER_BUILD_DIRECTORY 2023-09-20 16:22:45 +02:00
Umut
e6f5eabc2f chore(tools): use git lfs while testing cml 2023-09-20 15:01:58 +02:00
Umut
49dc0578f4 fix(compiler-bindings): don't crash on unknown location formats 2023-09-20 15:01:58 +02:00
Umut
51f5ed9484 feat(frontend-python): improve indexing error messages 2023-09-20 13:53:33 +02:00
Umut
73f01468e7 feat(frontend-python): support dynamic table lookups 2023-09-20 13:53:33 +02:00
Umut
4827e9e62c chore(frontend-python): remove optimization goal from z3 as it's extremely slow for big graphs 2023-09-20 09:12:27 +02:00
Umut
2327c15511 chore(frontend-pyton): remove single precision tests from linux ci 2023-09-19 15:28:08 +02:00
Umut
ca7d9f7567 chore(frontend-python): increase retries of execution of complex operations 2023-09-19 15:28:08 +02:00
Umut
fcf3de296c chore(frontend-python): reduce global p error for tests 2023-09-19 15:28:08 +02:00
Umut
e0979140b7 chore(frontend-python): don't use key cache for randomly generated tests 2023-09-19 15:28:08 +02:00
Umut
df19543454 chore(frontend-python): remove key cache after tests in ci 2023-09-19 15:28:08 +02:00
Umut
8b689a5894 feat(frontend-python): make bitwise operations multi precision 2023-09-19 15:28:08 +02:00
Umut
ff8bd3860e fix(frontend-python): only use comparison strategies for encrypted-encrypted comparisons 2023-09-19 15:28:08 +02:00
rudy
90e62f551b feat(optimizer): multi-params, key sharing 2023-09-19 12:13:25 +02:00
Umut
5d3e4bb2d6 chore(compiler): decrease p_error for a flanky test 2023-09-18 12:42:50 +02:00
Alexandre Péré
d28bf3767b feat(compiler): adds support for dynamic luts in fhelinalg 2023-09-18 12:42:50 +02:00
Umut
9af73a5fbe docs(frontend-python): update outdated warning in simulation docs 2023-09-18 10:45:07 +02:00
youben11
d16ce818e1 docs(compiler): build latest docs v2.3.0 2023-09-12 14:51:53 +01:00
Nikita Frolov
73a992f0a6 refactor(compiler): generalize noise calculation in FHE/FHELinalg
Instead of having one `getSQManp` implementation per op with a lot of repetition, the noise
calculation is now modular.

- Ops that implements`UnaryEint`/`BinaryInt`/`BinaryEint` interfaces share the operand noise
presence check.
- For many scalar ops no further calculation is needed. If it's not the case, an op can override
`sqMANP`.
- Integer operand types lookups are abstracted into `BinaryInt::operandIntType()`
- Finding largest operand value for a type is abstracted into `BinaryInt::operandMaxConstant`
- Noise calculation for matmul ops is simplified and it's now general enough to work for
`matmul_eint_int`, `matmul_int_eint` and `dot_eint_int` at once.
2023-09-12 14:51:53 +01:00
Bourgerie Quentin
d71201ff8c fix(compiler): Use FHE.zero_tensor instead of bufferization.alloc_tensor as alloc_tensor explictly has a alloc semantic, so it cannot be eliminated by dce 2023-09-11 15:08:49 +02:00
rudy
f4099936e2 fix(compiler): ci, format_cpp.sh, bug + better message 2023-09-11 14:19:08 +02:00
aPere3
1e726a50ed feat(compiler): add support for dynamic luts in compiler. 2023-09-11 10:29:59 +02:00
Alexandre Péré
083ab1103f chore(compiler): moves EncryptMulToDoubleTLU includes 2023-09-11 10:29:59 +02:00
aPere3
b58821b1d1 chore(compiler): refactor e2e tlu tests to use dynamic lut. 2023-09-11 10:29:59 +02:00
rudy
229bbc2327 fix(compiler): do not optimize llvm twice 2023-09-08 15:26:24 +02:00
rudy
74c4a7eae5 fix(compiler): check minimal lwe size 2023-09-08 14:26:32 +02:00
rudy
dc0a3d8a2e feat(optimizer): levelled circuit, no power of two constraint 2023-09-08 14:26:32 +02:00
rudy
be77fb26b8 feat(compiler): bench, cifar-16 2023-09-08 10:03:42 +02:00
rudy
4907577b1c feat(compiler): bench, llm, big mat mul 2023-09-08 10:03:42 +02:00
rudy
a28a7bf397 feat(compiler): bench, activate levelled ops 2023-09-08 10:03:42 +02:00
Umut
f358a79018 docs(frontend-python): fix issues in comparisons tutorial 2023-09-07 10:17:59 +02:00
rudy
4244ae3b41 fix(compiler): explicit global_p_error disable high error warning 2023-09-07 09:20:37 +02:00
Umut
87d92ff08e fix(frontend-python): use correct path for mlir locations 2023-09-06 11:51:03 +02:00