Commit Graph

2809 Commits

Author SHA1 Message Date
aPere3
cacffadbd2 feat(compiler): add support for multikey
This commit brings support for multiple secret keys in the TFHE
dialect. In particular, a parameterized `TFHE` circuit can now be
given as input, with any combination of (semantically valid) of
ks/bs/woppbs mixing different secret keys, and compiled down to a
valid executable function, with server keys properly looked up.

Secret keys are now stateful objects which can be:
-> none/unparameterized (syntax `sk?`): The keys are in state after
   the lowering from the `FHE` dialect.
-> parameterized (syntax `sk<identifier, polysize, dimension>`): The
   keys were parameterized, either by user or by the optimizer. The
   `identifier` field can be used to disambiguate two keys with same
   `polysize` and `dimension`.
-> normalized (syntax `sk[index]<polysize, dimension>`): The keys were
   attached to their index in the list of keys in the runtime context.

The _normalization_ of key indices also acts on the ksk, bsk and pksk,
which are given indices in the same spirit now.

Finally, in order to allow parameterized `TFHE` circuit to be given
as input and compiled down to executable functions, we added a way to
pass the encodings that are used to encode/decode the circuit
inputs/outputs. In the case of a compilation from the `FHE` dialect,
those informations are automatically extracted from the higher level
informations available in this dialect.
2023-04-14 15:01:18 +02:00
aquint-zama
823ea618af chore(common): fix README code snippet 2023-04-14 10:44:10 +02:00
aquint-zama
0372cf91e7 chore(common): add deprecation warning in README 2023-04-14 09:28:11 +02:00
aquint-zama
8c4912275c chore(frontend/python): update kvdb tutorial 2023-04-14 09:28:11 +02:00
aquint-zama
c7689b6c78 chore(common): fix remaining numpy links 2023-04-14 09:28:11 +02:00
Mayeul@Zama
56d2d3e40d chore(tools): add Makefile generated tests to .gitignore 2023-04-13 11:10:48 +02:00
Mayeul@Zama
84a3dd7a8d chore(backend-cpu): use zig build 2023-04-13 11:09:54 +02:00
Mayeul@Zama
53fa78cfbd chore(backend-cpu): simplify import in zig tests 2023-04-13 11:09:54 +02:00
rudy
25d5157f42 docs(optimizer): README.md, bad link 2023-04-13 09:49:00 +02:00
Umut
dbe9217937 chore(frontend-python): use top level readme in PyPI 2023-04-12 14:16:48 +02:00
youben11
882f411a63 chore(ci/compiler): move macos_x86 tests to aws 2023-04-12 11:44:15 +01:00
Ben
cb19989fe1 chore(tools): remove old files v1.0.0 2023-04-12 12:03:01 +02:00
Mayeul@Zama
a211470dd4 chore(backend-cpu): use stable lints in the CI 2023-04-12 12:00:24 +02:00
rudy
a5c6c042dd docs(optimizer): concrete-optimizer README uses v0-parameters README 2023-04-12 11:58:06 +02:00
Jeremy Shulman
cc276dee73 chore(frontend/python): doc fixes
GITBOOK-1
2023-04-12 11:51:50 +02:00
Ayoub Benaissa
767a4137d5 fix(ci/release): config openblas for macos env 2023-04-12 08:54:45 +01:00
Jeremy Zaccherini
4278bc655d docs(common): update README 2023-04-12 07:58:42 +02:00
Umut
307d6997e9 chore(frontend-python): use rounding in some flanky tests around floats 2023-04-12 07:55:33 +02:00
Umut
02e655748f test(frontend-python): add crt deployment test 2023-04-12 07:55:33 +02:00
Umut
14aa92c511 fix(compiler): correctly determine dimensions during (de)serialization of public args 2023-04-12 07:55:33 +02:00
Quentin Bourgerie
6f06757218 chore(ci): Remove pre conditions for releasing since there are some flaky test 2023-04-12 07:51:49 +02:00
Quentin Bourgerie
bcae1ebd1e chore(backend-cuda/ci): Use slab to run tests 2023-04-11 16:35:56 +02:00
youben11
3e0d959b12 chore(common): update repo name 2023-04-11 16:35:42 +02:00
aquint-zama
ec5cd7d984 docs(common): update README 2023-04-11 14:55:57 +02:00
Mayeul@Zama
df3a21fbd3 docs(optimizer): add readme 2023-04-11 14:55:57 +02:00
Mayeul@Zama
e3c5eee6fe docs(backend-cpu): add readme 2023-04-11 14:55:57 +02:00
Umut
673b02473f feat(frontend/python): explicit key management 2023-04-11 14:55:57 +02:00
youben11
22a2407b60 chore(ci): rename secret 2023-04-11 12:26:10 +01:00
aquint-zama
fdf6f41a89 docs(frontend/python): overhaul python frontend docs 2023-04-11 10:15:42 +02:00
rudy
8a672a0c59 feat(optimizer): check dag inputs index during dag correctness check 2023-04-11 09:16:25 +02:00
Umut
efa866f069 chore(frontend/python): use smaller global p error for tests to avoid random ci failures 2023-04-07 19:42:57 +02:00
Umut
0edfe59e18 refactor(frontend/python): re-write MLIR conversion 2023-04-07 19:42:57 +02:00
Umut
b73d465f1d fix(compiler): implement MANP calculation for FHELinalg.to_(un)signed 2023-04-07 19:42:57 +02:00
Umut
b45f08c49b chore(frontend/python): set development version to 0.0.0 2023-04-07 19:42:57 +02:00
Ayoub Benaissa
6f23f448e5 fix(ci): setup pkg-config to find openblas 2023-04-07 16:35:07 +01:00
Ayoub Benaissa
fcbf05215a chore(ci): reduce image size
don't use cache, and install torch cpu
2023-04-07 16:05:43 +01:00
youben11
30a13d74f4 chore(ci): use aws instance for M1 2023-04-07 12:45:03 +01:00
youben11
981b0f4bb1 feat(ci): push concrete-python docker image on release 2023-04-07 12:45:03 +01:00
Agnes Leroy
766df20232 chore(backend/gpu): add README file for concrete-cuda 2023-04-06 16:29:01 +02:00
Antoniu Pop
990df766bb test(compiler): disable testing of StreamEmulator. 2023-04-06 16:23:20 +02:00
Agnes Leroy
b3c1446816 bench(backend/gpu): change benchmark parameters to match tfhe-rs ones 2023-04-06 14:06:14 +02:00
youben11
9df963ccf4 feat(ci): release publicly if needed tests pass v1.0.0-rc1 2023-04-06 12:47:11 +01:00
youben11
1bcf53f2da fix(ci): fallback to github.sha in case of tag
tag pushes couldn't compute the hash using the git command
2023-04-06 12:47:11 +01:00
youben11
d435ccdd6c fix(ci): setup RELEASE_TYPE globally 2023-04-06 12:47:11 +01:00
youben11
99ad4a81ef fix(ci): use single quotes inside expressions 2023-04-06 12:47:11 +01:00
youben11
2ec452e7f7 fix(ci): define the new release command is slab 2023-04-06 12:47:11 +01:00
youben11
c68eed79f9 fix(ci): use user_input as simple string
json need special escaping, and its actually a single input for now
2023-04-06 12:47:11 +01:00
aPere3
e50013b75c fix(compiler): allow FHELinalg.apply_lookup_table on esint 2023-04-05 10:35:00 +02:00
youben11
65a548bd43 fix(ci): missing brackets 2023-04-04 17:21:40 +01:00
youben11
f9d1a0162e feat(ci): add concrete-python public release 2023-04-04 16:44:40 +01:00