Commit Graph

3136 Commits

Author SHA1 Message Date
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
Umut
fe6d15da34 fix(frontend-python): convert specified insecure key cache to str only if it's a path 2023-09-06 11:51:03 +02:00
Umut
26c3619b2e chore(frontend-python): add pytest-randomly to make random tests reproducible 2023-09-06 11:51:03 +02:00
Umut
c9611c0289 feat(frontend-python): make comparisons multi precision 2023-09-06 11:51:03 +02:00
Umut
afed78a46e fix(frontend-python): force kwargs for configuration options 2023-09-06 11:51:03 +02:00
Umut
1841836a39 fix(frontend-python): parse parameter selection strategy if it's string in the constructor 2023-09-06 11:51:03 +02:00
Umut
7be4dcecb9 refactor(frontend-python): move maximum tlu bit width constant to configuration 2023-09-06 11:51:03 +02:00
Umut
781f003292 chore(frontend-python): add missing trailing comma to trace method of tracer 2023-09-06 11:51:03 +02:00
Umut
b404b5c97c fix(frontend-python): add missing class properties to "assign bit widths" graph processor 2023-09-06 11:51:03 +02:00
Umut
cfb6dfb6ab fix(frontend-python): add missing type hints to "assign bit widths" graph processor constructor 2023-09-06 11:51:03 +02:00
youben11
41e1fdf1f8 refactor(frontend): change location format 2023-09-04 09:22:28 +01:00
youben11
530bacb2e3 refactor(compiler): clean statistic passes 2023-09-04 09:22:28 +01:00
youben11
4e8b9a199c feat(compiler): allow forcing encoding from python 2023-09-01 10:29:08 +01:00
youben11
cba3847c92 feat(compiler): setting v0 parameters from py bindings 2023-09-01 10:29:08 +01:00
youben11
9e8c44ed00 feat(compiler/python): expose memory usage in bindings 2023-08-29 15:47:25 +01:00
youben11
54089186ae refactor(compiler): reorganize passes and add memory usage pass 2023-08-29 15:47:25 +01:00
youben11
d88b2c87ac feat(compiler): compute memory usage per location 2023-08-29 15:47:25 +01:00