Commit Graph

236 Commits

Author SHA1 Message Date
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
youben11
3ad37522e5 test(compiler): test compile/run in simulation 2023-06-27 14:21:42 +01:00
youben11
27e1835f23 feat(compiler/python): expose simulation to python-bindings 2023-06-27 14:21:42 +01:00
youben11
eb116058e0 feat(compiler): support invoke on simulated circuits 2023-06-27 14:21:42 +01:00
youben11
32ad46f7c5 feat(compiler): disable runtimeCtx pass in simulation 2023-06-27 14:21:42 +01:00
youben11
5e848a6971 feat(compiler/clientlib): support simulation in enc-args 2023-06-27 14:21:42 +01:00
youben11
09b84e0373 refactor(compiler/clientlib): add ValueDecrypter Interface 2023-06-27 14:21:42 +01:00
youben11
ad13602bf3 refactor(compiler/clientlib): add ValueExporter Interface 2023-06-27 14:21:42 +01:00
youben11
7b594c5ecd feat(compiler): add simulation runtime 2023-06-27 14:21:42 +01:00
youben11
b8e462c1cc feat(compiler): add option to compile in simulation mode 2023-06-27 14:21:42 +01:00
youben11
e58b46d86d feat(compiler): add a pass to simulate TFHE ops
lowering is done to CAPI calls that implement simulation as well as
standard MLIR ops
2023-06-27 14:21:42 +01:00
Umut
c98b8f0241 fix(frontend-python): manually abort on ctrl+c 2023-06-27 15:11:21 +02:00
Bourgerie Quentin
29f1ce753b fix(optimizer): new version of generated files
This reverts commit 9b345e51ed.
2023-06-27 11:06:32 +02:00
Bourgerie Quentin
6a49fc3a1d test(compiler): Temporary disable matmul_eint_eint on 16bits integer 2023-06-26 22:49:56 +02:00
Andi Drebes
934e25de0d test(compiler): Let entire Makefile rules for tests / benchmarks fail if subcommand fails
The commands for the Makefile rules `run-end-to-end-tests` and
`run-cpu-benchmarks` are generated using the `$(foreach)` builtin
function with a trailing `;` for each subcommand. The result is a
sequence of commands separated by `;`, which only fails if the last
command fails. This causes any code for which the last test /
benchmark passes, but for which any of the preceding subcommands fails
to pass the CI and thus to leave failing tests undiscovered.

This commit adds a trailing `&& exit $$?` to each command, such that
the entire sequence fails if a single command fails.
2023-06-26 22:49:56 +02:00
Quentin Bourgerie
9b345e51ed Revert "fix(optimizer): new version of generated files"
This reverts commit db3ecb1402.
2023-06-26 17:06:02 +02:00