Bourgerie Quentin
d224f3e3bf
feat(frontend-python): Enable multi output programs
nightly-2023.11.14
nightly-2023.11.15
nightly-2023.11.16
2023-11-13 09:22:54 +01:00
Bourgerie Quentin
09af803754
feat(compiler): Add support for multi output function up to python bindings
2023-11-13 09:22:54 +01:00
Umut
d4cc79f10d
test(frontend-python): add tests of assigning circuit.keys
nightly-2023.11.11
2023-11-10 14:35:17 +01:00
Alexandre Péré
e8ef48ffd8
feat(compiler): introduce concrete-protocol
...
This commit:
+ Adds support for a protocol which enables inter-op between concrete,
tfhe-rs and potentially other contributors to the fhe ecosystem.
+ Gets rid of hand-made serialization in the compiler, and
client/server libs.
+ Refactors client/server libs to allow more pre/post processing of
circuit inputs/outputs.
The protocol is supported by a definition in the shape of a capnp file,
which defines different types of objects among which:
+ ProgramInfo object, which is a precise description of a set of fhe
circuit coming from the same compilation (understand function type
information), and the associated key set.
+ *Key objects, which represent secret/public keys used to
encrypt/execute fhe circuits.
+ Value object, which represent values that can be transferred between
client and server to support calls to fhe circuits.
The hand-rolled serialization that was previously used is completely
dropped in favor of capnp in the whole codebase.
The client/server libs, are refactored to introduce a modular design for
pre-post processing. Reading the ProgramInfo file associated with a
compilation, the client and server libs assemble a pipeline of
transformers (functions) for pre and post processing of values coming in
and out of a circuit. This design properly decouples various aspects of
the processing, and allows these capabilities to be safely extended.
In practice this commit includes the following:
+ Defines the specification in a concreteprotocol package
+ Integrate the compilation of this package as a compiler dependency
via cmake
+ Modify the compiler to use the Encodings objects defined in the
protocol
+ Modify the compiler to emit ProgramInfo files as compilation
artifact, and gets rid of the bloated ClientParameters.
+ Introduces a new Common library containing the functionalities shared
between the compiler and the client/server libs.
+ Introduces a functional pre-post processing pipeline to this common
library
+ Modify the client/server libs to support loading ProgramInfo objects,
and calling circuits using Value messages.
+ Drops support of JIT.
+ Drops support of C-api.
+ Drops support of Rust bindings.
Co-authored-by: Nikita Frolov <nf@mkmks.org >
nightly-2023.11.10
2023-11-09 17:09:04 +01:00
rudy
9139101cc3
fix(frontend-python): ci, duplicated shared lib
nightly-2023.11.09
nightly-2023.11.07
nightly-2023.11.08
2023-11-06 10:38:13 +01:00
Mayeul@Zama
b00e949a85
fix(backend-cpu): zig tests after zig update
nightly-2023.11.04
2023-11-03 12:04:16 +01:00
Alexandre Péré
211dcd0ad7
fix(backend-cpu): fix rust lint error
...
See https://github.com/zama-ai/concrete/actions/runs/6690310177/job/18175401058#step:9:94
2023-11-03 12:04:16 +01:00
rudy
c67da66d86
feat(optimizer): multi-parameters, variance and cost value and coefficient compression
nightly-2023.11.03
nightly-2023.11.02
nightly-2023.11.01
2023-10-31 14:00:27 +01:00
Umut
14a5390ec6
chore(frontend-python): increase the number of random shift tests
nightly-2023.10.31
2023-10-30 15:53:03 +01:00
Umut
004108f39a
chore(frontend-python): only test with simulation for extremely long-running tests
2023-10-30 15:53:03 +01:00
Umut
088cca4b83
feat(frontend-python): create multivariate extension
2023-10-30 15:53:03 +01:00
rudy
87c877bc7e
chore(ci): valid dependabot commit title
2023-10-30 10:20:19 +01:00
rudy
1f4361b773
chore(ci): simpler detection for markdown link check
2023-10-30 09:23:46 +01:00
aquint-zama
8595aad47f
docs(frontend): fix broken links
...
and ignore those that cant be automatically checked (sadly)
2023-10-27 15:40:21 +02:00
aquint-zama
a47d7661a4
chore(ci): add markdown link check
2023-10-27 15:40:21 +02:00
Umut
81f9d5cd86
chore(frontend-python): push docker images on releases
nightly-2023.10.27
nightly-2023.10.26
2023-10-25 15:40:43 +02:00
Umut
f97b7705f5
fix(frontend-python): convert rounding to tlu when necessary
2023-10-25 14:44:42 +02:00
Umut
88f06aa036
fix(frontend-python): hint some values within circuits to avoid bad bit-width assignment due to incomplete inputset
2023-10-25 13:39:43 +02:00
Umut
82546cdf30
feat(frontend-python): add can store hint
2023-10-25 13:39:43 +02:00
aquint-zama
e5ed6f0db7
docs(frontend): add FHE workarounds
nightly-2023.10.25
nightly-2023.10.24
2023-10-23 09:39:33 +02:00
Umut
8a3ac78fca
feat(frontend-python): implement dumping/loading of auto rounders
nightly-2023.10.18
nightly-2023.10.20
nightly-2023.10.19
nightly-2023.10.21
2023-10-17 09:09:12 +02:00
youben11
76b72b7feb
fix(optimizer): avoid asserting on manp >= 1
...
zero tensor ops now use a MANP of 0
nightly-2023.10.11
nightly-2023.10.10
nightly-2023.10.04
nightly-2023.10.17
nightly-2023.10.14
nightly-2023.10.13
nightly-2023.10.12
nightly-2023.10.05
nightly-2023.10.06
nightly-2023.10.07
2023-10-03 16:17:27 +01:00
youben11
6a41c31370
fix(compiler): revert to old MANP values
...
this commit need to be reverted when we start computing the MANP on
linalg.genric ops
2023-10-03 16:17:27 +01:00
youben11
48b2d884c6
fix(compiler): use args to have an init MANP of 1
...
As the MANP value of zero tensors becomes 0 (instead of 1 previously) we
switch to using argument
2023-10-03 16:17:27 +01:00
youben11
64d0741c1b
feat(compiler): support linalg.genric instead of FHELinalg ops in DF parallelization
2023-10-03 16:17:27 +01:00
youben11
88dd13756a
feat(compiler): support linalg.generic in the MANP Analysis
2023-10-03 16:17:27 +01:00
youben11
390edcde74
chore(compiler): chery-pick fix from upstream
...
update to latest commit of the LLVM fork, which cherry-picked a needed
fix
2023-10-03 16:17:27 +01:00
youben11
72940bcf93
fix(backend): fix boolean rounding in woppbs simulation
v2.5.0-rc1
nightly-2023.10.03
2023-10-02 17:07:48 +01:00
Umut
101a6da6ba
docs(frontend-python): add statistics tutorial
nightly-2023.09.29
nightly-2023.09.30
2023-09-28 17:35:35 +02:00
Umut
f066678a41
docs(frontend-python): add compiler verbose and debug modes to how to debug
2023-09-28 17:35:35 +02:00
Umut
0ed1a54c3f
refactor(frontend-python): reduce memory usage for table construction of non-multi table lookups
2023-09-28 13:52:51 +02:00
youben11
e4835bd002
feat(compiler): support woppbs in simulation
2023-09-28 09:29:48 +01:00
youben11
0caa659244
refactor(backend): use lwe scalar value (sim) instead of pointer
2023-09-28 09:29:48 +01:00
youben11
23576e1f59
fix(backend): use correct variance in blind_rotate
2023-09-28 09:29:48 +01:00
youben11
cd0f02d99c
feat(compiler): support crt encoding in scalars during simulation
2023-09-28 09:29:48 +01:00
youben11
4f2b44c9d8
feat(compiler): support compilation of CRT in simulation
2023-09-28 09:29:48 +01:00
Samuel Tap
a70d2f0b83
feat(backend): add simulation of woppbs
2023-09-28 09:29:48 +01:00
rudy
c84372ec1f
feat(optimizer): multi-parameters, direct variance and cost operation bound
nightly-2023.09.27
nightly-2023.09.28
2023-09-26 15:01:10 +02:00
rudy
7e6ce03b09
fix(optimizer): multi-parameters, DEBUG, display reason for lower bound
2023-09-26 15:00:29 +02:00
Benoit Chevallier-Mames
af63e900cf
docs(frontend): adding a Game of Life example
...
closes #457
2023-09-26 12:48:38 +02:00
rudy
d64c9b0f25
fix(optimizer): multi-parameters, shorter_dump for the compiler --display-optimizer-choice
nightly-2023.09.26
2023-09-25 15:55:22 +02:00
rudy
3cd26192bc
fix(optimizer): incorrect broadcast shape
2023-09-25 15:53:19 +02:00
rudy
1c0a70f911
fix(compiler): conversion to optimizer dag, bad dot before signed lut
...
this has no effect apart making the shape incorrect
2023-09-25 15:53:19 +02:00
Umut
f988eccd57
fix(frontend-python): update bad static indexing tests to use a constant inputset for consistent errors
v2.4.0-rc1
nightly-2023.09.23
2023-09-22 09:41:15 +02:00
Bourgerie Quentin
6df3b94a2d
fix(ci): Don't fail with several tag
nightly-2023.09.22
2023-09-21 11:14:16 +02:00
Bourgerie Quentin
19b8b930ab
chore(ci): Tag nightly on the public githu repository
nightly-2023.09.21
2023-09-20 17:42:01 +02:00
rudy
da283c917b
fix(frontend-python): Makefile, portability 'source'
2023-09-20 16:24:23 +02:00
rudy
9bc186c6d5
fix(frontend-python): Makefile, default value for COMPILER_BUILD_DIRECTORY
2023-09-20 16:22:45 +02:00
Umut
e6f5eabc2f
chore(tools): use git lfs while testing cml
2023-09-20 15:01:58 +02:00
Umut
49dc0578f4
fix(compiler-bindings): don't crash on unknown location formats
2023-09-20 15:01:58 +02:00