Commit Graph

251 Commits

Author SHA1 Message Date
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
rudy
4244ae3b41 fix(compiler): explicit global_p_error disable high error warning 2023-09-07 09:20:37 +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
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
Umut
9a5b08938e feat(compiler): support multi precision encrypted multiplications 2023-08-04 13:17:14 +02:00
rudy
2c348f6a3d chore(optimizer): update for nightly rust 2023-08-02 14:14:58 +02:00
Bourgerie Quentin
8e8b2dd8ed fix(compiler/tests): Fixing the generation of dot/matmul signed tests 2023-08-01 19:03:57 +02:00
Bourgerie Quentin
bd4540102c fix(compiler/multi-parameters): Fixing encrypted dot and encrypted matmul with multi-parameters 2023-08-01 19:03:57 +02:00
Bourgerie Quentin
ea65637796 fix(compiler/tests): Fixing some skipped tests laucnhed with gtest parallel
The gtest-parallel tools first list test names then launch in parallel the end_to_end_test tool with the gtest_filter=<test_name>,
so if in the test_name a - appears it skip it due the gtest filtering that treat the string after - as an exlude pattern
2023-08-01 19:03:57 +02:00
Umut
ade83d5335 feat(compiler): add more detailed statistics 2023-08-01 18:40:08 +02:00
rudy
8ff9158424 fix(optimizer): multi-parameters, levelled only circuit 2023-08-01 17:01:30 +02:00
youben11
f6599a91c6 refactor(compiler): add func to populate RTOps type conversion 2023-07-31 16:57:53 +01:00
Andi Drebes
66d9c6eee4 fix(compiler): Do not print type mnenomic in custom printers for RT types
Printing the mnenomic in the custom printers for RT types leads to a
repetition, since the mnenomic is already printed by the
infrastructure invoking the custom printer (e.g., instead of
RT.future<...>, the printed type is `RT.futurefuture<...>`).

This commit removes the mnenomics from the custom printers and thus
causes them to emit the correct textual representation of types.
2023-07-31 14:09:33 +02:00
rudy
019d10e0bf fix(compiler): main, detection for v0 + global p_error 2023-07-31 12:24:57 +02:00
youben11
761bc5f62d feat(compiler/python): support enabling verbose/debug 2023-07-26 18:22:20 +01:00
Umut
79b38a72ec feat(compiler): provide circuit statistics 2023-07-26 11:08:15 +02:00
Umut
d1b004c87d fix(compiler): move simulation before batching 2023-07-26 11:08:15 +02:00
rudy
885d25424d fix(compiler): revert Workaround fallback to Strategy::V0 when solving with Strategy::DAG_MONO
This reverts commit caee0bae66.
2023-07-24 18:07:59 +02:00
youben11
545bda979d fix(compiler): use dyn sized tensors in CAPI func definitions 2023-07-21 16:53:32 +01:00
youben11
022b1879a1 feat(compiler): support compiling in-memory module 2023-07-21 14:14:55 +01:00
Ayoub Benaissa
67ca4e10b9 fix(compiler): add conversion of tensor.from_elements in simulation 2023-07-21 09:23:31 +01:00
Antoniu Pop
5082cea110 fix(compiler): disable dataflow parallelization when the optimiser strategy is dag-multi. Currently the two don't work well together because dataflow task outlining obfuscates the code early on in the compilation pipeline. 2023-07-20 14:39:28 +01:00
aquint-zama
502fcfdbe6 chore(compiler): fix typos 2023-07-13 14:33:54 +02:00
aquint-zama
25754a656a docs(common): add FHE dialects autogenerated docs 2023-07-13 14:33:54 +02:00
aquint-zama
9928c0dbd9 docs(compiler): Generate dialect docs for the Tracing Dialect 2023-07-13 14:33:54 +02:00
aquint-zama
60817835db chore(compiler): typos 2023-07-13 14:33:54 +02:00
youben11
2f8d877de8 docs(compiler): calling from other lang (rust) 2023-07-13 14:33:54 +02:00
Andi Drebes
cc6f86957c docs(compiler): Generate dialect docs for the RT Dialect 2023-07-13 14:33:54 +02:00
rudy
65d4a62cfd fix(optimizer): cargo +nightly clippy 2023-07-12 10:28:12 +02:00
rudy
d9fc01ca15 fix(optimizer): cargo +nightly fmt 2023-07-12 10:28:12 +02:00
jadkhatib
9b7aca4acf fix(optimizer): updating optimize_1_fks_and_all_compatible_ks function in order to return the best solution 2023-07-12 10:28:12 +02:00
jadkhatib
4d189d6795 fix(optimizer): best complexity was not updated in the function optimize_1_fks_and_all_compatible_ks 2023-07-12 10:28:12 +02:00
rudy
c7655c354e fix(optimizer): detect lower bound solution due to macro parameter changes 2023-07-12 10:28:12 +02:00
rudy
6febdee3f8 fix(optimizer): multi-partition, test showing the issue on more than 2 partitions 2023-07-12 10:28:12 +02:00
Ayoub Benaissa
b3d8c5b195 docs(compiler): add prerequisites to build from source 2023-07-11 15:27:36 +01:00
Bourgerie Quentin
1b0106302b fix(optimizer/backend-cpu): Fix Cargo.lock to avoid flaky dependencies 2023-06-30 16:08:43 +02:00
Umut
6fdcb78158 fix(compiler-bindings): use manual function pointer type to avoid compilation error on macOS 2023-06-27 18:36:22 +02:00
youben11
648e868ffe feat(compiler): support parallelization during simulation 2023-06-27 14:21:42 +01:00