Commit Graph

145 Commits

Author SHA1 Message Date
Bourgerie Quentin
f487432207 fix(compiler): fold mul and matmul by zero to zero
That will close https://github.com/zama-ai/concrete-internal/issues/297 also for dag-multi optimization
2023-05-25 03:48:33 -04:00
Antoniu Pop
900018c44e fix(compiler): increase the maximum number of DFR task inputs to 50. Split generated switches in separate files. 2023-05-24 09:56:34 +02:00
Quentin Bourgerie
caee0bae66 fix(compiler): Workaround fallback to Strategy::V0 when solving with Strategy::DAG_MONO
close https://github.com/zama-ai/concrete-internal/issues/297
2023-05-23 04:00:56 -04:00
Quentin Bourgerie
0bdb85b67d refactor(compiler/clientlib): Remove the building of the calling convention in the EncryptedArguments and test serialization in end_to_end_tests 2023-05-22 16:21:33 -04:00
rudy
b3ec478de9 fix(optimizer): optimize partition in reverse order
note: it was initially the case, but it was simplified and we didn't see shortcomings on tests.
2023-05-22 18:22:46 +02:00
Quentin Bourgerie
5df44ad6f8 chore(compiler/build): Remove script to get BUILD_DIR 2023-05-17 13:57:37 +02:00
Andrei Stoian
817ee6b637 feat(compiler): add matmul eint eint op 2023-05-15 11:36:47 +02:00
Mayeul@Zama
74feda147c feat(optimizer): add brute-force optimizer
Co-authored-by: Samuel Tap <samuel.tap@zama.ai>
2023-05-12 11:12:47 +02:00
Quentin Bourgerie
d973f068f6 fix(compiler): Fixing extra conversion fixup when producer is not directly a TFHE operator 2023-05-12 09:47:35 +02:00
Quentin Bourgerie
0fa1b4ba1d refactor(compiler): Cleanup TFHECircuitSolutionParametrization and make it less verbose in verbose mode 2023-05-12 09:47:35 +02:00
Quentin Bourgerie
462a23b622 fix(compiler/fhe): Allows noop FHE.round operators and fold it 2023-05-11 12:52:38 +02:00
Quentin Bourgerie
eff442438b fix(compiler): Do not create dealloc on the bufferization pass as that place all dealloc at the end of the program 2023-05-10 09:18:47 +02:00
aPere3
0d2416fe80 chore(compiler): add code doc on encrypted mul 2023-05-05 12:43:41 +02:00
youben11
f6c70ac18e chore(compiler): clean dialect licenses
set dialect licenses to apache 2.0 and keeps the rest following the main
license
2023-05-04 10:28:50 +01:00
Mayeul@Zama
ece5408887 fix(optimizer): fix clippy lint 2023-04-27 13:51:29 +02:00
Mayeul@Zama
3558ba5586 feat(backend-cpu): choose fastest aes implementation at runtime 2023-04-24 15:02:22 +02:00
Umut
41bf801ce1 feat(frontend-python): introduce parameter selection strategy configuration 2023-04-21 17:38:05 +02:00
Mayeul@Zama
2800f74fb8 chore(compiler): clean up .gitignore 2023-04-20 15:11:38 +02:00
Mayeul@Zama
8033c934f3 chore(compiler): remove old makefile targets 2023-04-20 15:11:38 +02:00
Quentin Bourgerie
dfa0c8b202 feat(compiler): Add dag-multi benchmark to the run-cpu-benchmark target 2023-04-20 09:46:24 +02:00
Quentin Bourgerie
ef6fa86603 fix(compiler/bench): Fixing round end to end yaml description generation with shapes arguments 2023-04-20 09:46:24 +02:00
Quentin Bourgerie
af79774ae0 fix(compiler/tests/bench): Add optimizer strategy to the name of benchs and tests 2023-04-20 09:46:24 +02:00
aPere3
50255cc908 fix(compiler): propagates oid when simplifying fhelinalg zero sums 2023-04-18 13:36:15 +02:00
aPere3
85c29c2e39 chore(compiler): move end-to-end linalg tests to fixtures 2023-04-18 13:36:15 +02:00
Quentin Bourgerie
065e4d7b40 test(compiler): Temporary remove batching check-test as it to invasive 2023-04-14 15:01:18 +02:00
aPere3
141efc8db2 bench(compiler): Add e2e benchmark for rounded PBS 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
0e59f66a64 fix(compiler): FHE.to_bool and FHE.from_bool is a no op and not reduce the noise to the base 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
edbdcdd7ec fix(compiler/test): Fixing naming in end_to_end tests 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
3ada182c22 test(compiler): Enable dag-multi tests on all yaml tests 2023-04-14 15:01:18 +02:00
rudy
311ac8ce99 feat(compiler,ci): parallel tests 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
944f9f6fc2 fix(compiler/benchmark): Remove always optimizer display 2023-04-14 15:01:18 +02:00
rudy
9c3c72a176 fix(optimizer): multi, more than 2 partitions, optimize_macro use optimized fks instead of lower bound 2023-04-14 15:01:18 +02:00
rudy
dd34ef120b fix(optimizer): multi, more than 2 partitions, some fks was not copied back 2023-04-14 15:01:18 +02:00
aPere3
0ba154fca8 test(compiler): add multi precision tests 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
955dea6fcd feat(compiler/tests): Add verbose options to end_to_end_test 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
d388f08cc5 test(compiler): Fix check test 2023-04-14 15:01:18 +02:00
rudy
008eec658b fix(optimizer,tests): sign extract is slower with slow ks 2023-04-14 15:01:18 +02:00
rudy
06b724ab50 feat(compiler/tests): rounded tests, add rounded tlu + tensorized 2023-04-14 15:01:18 +02:00
rudy
81fd9f3441 feat(optimizer): multi-parameters, use slow keyswitch until stabilized 2023-04-14 15:01:18 +02:00
rudy
9c68d132ca feat(optimizer): multi-parameter entry point, single parameter solution for woppbs 2023-04-14 15:01:18 +02:00
rudy
d2a342fc84 feat(optimizer): multiparameters compiler entry point 2023-04-14 15:01:18 +02:00
rudy
3e05aa47a4 feat(optimizer): multiparameters optimization 2023-04-14 15:01:18 +02:00
rudy
361244abd0 feat(optimizer): symbolic variance constraints for multiparameters 2023-04-14 15:01:18 +02:00
rudy
104ec93881 feat(optimizer): symbolic variance for multi-parameter 2023-04-14 15:01:18 +02:00
rudy
38646b7559 feat(optimizer): dag partitionning based on p_cut 2023-04-14 15:01:18 +02:00
rudy
c6b5a6111b feat(optimizer): display trait for op and dag 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
caaec449f5 fix(optimizer): Conversion between dag and circuit solution 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
142e0ed77e feat(compiler): Integrate circuit solution optimization 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
953c202fe1 refactor(compiler): Propagate optimizer dag node identifier along the compilation pipeline 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
7d1c43bc47 feat(compiler/multi-parameters): Create a pass to apply the multi-parameter circuit solution of the optimize 2023-04-14 15:01:18 +02:00