Commit Graph

3127 Commits

Author SHA1 Message Date
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
rudy
7782f4e967 fix(optimizer): woppbs, cost model, cmux tree size x2 2023-08-28 14:47:54 +02:00
Ayoub Benaissa
c4686c3631 fix(compiler): lower fhe.zero to either scalar or tensor variant based on encoding
When using crt encoding, some fhe.zero op results will be converted to tensors (crt encoded eint), so should be converted to tfhe.zero_tensor operations instead of tfhe.zero
2023-08-11 18:23:29 +01:00
Beka Barbakadze
471ebc080b feat(backend-gpu): implement integer multiplication, including test and benchmark 2023-08-11 12:54:18 -03:00
Umut
6277af57e6 fix(frontend-python): fix flanky dot conversion tests 2023-08-11 11:22:54 +02:00
Umut
73f10e3b8e feat(frontend-python): create hint extension 2023-08-11 11:22:54 +02:00
Benoit Chevallier-Mames
3a884f5c9b test(frontend): add a --patch option to ML tests
to test the removal of workarounds, or the use of new Concrete features

closes #442
v2.2.0
2023-08-08 16:50:37 +02:00
Pedro Alves
37b3782ff5 chore(backend-gpu): add missing include in utils.cpp 2023-08-08 09:02:44 -03:00
Pedro Alves
3f46d946b6 chore(backend-gpu): changes the mutability of some parameters in the rust api 2023-08-08 09:02:44 -03:00
Bourgerie Quentin
245836b8ba fix(compiler): Fix conv2d with bias equals to zero in multi parameters
The zero bias was folded and lead to empty loops, i.e. loops with copy only and make the TFHE parametrization fail
2023-08-08 11:01:29 +02:00