Bourgerie Quentin
f7f94a1663
feat(compiler/client-lib): Implement ValueExporter to allows partial encryption
2023-06-09 13:01:27 +02:00
aquint-zama
17f1107231
chore(common): add a Code of Conduct
2023-06-08 14:52:47 +02:00
Ayoub Benaissa
91b4fcc208
fix(compiler/frontend): provide ld in the docker image
...
the concrete-python docker image didn't have the `ld` binary, which is required during compilation
2023-06-07 17:28:44 +01:00
Ayoub Benaissa
a689dba8d7
fix(compiler/rust): fix const declaration of target-specific static libs
...
for aarch64
2023-06-07 12:42:50 +01:00
youben11
c4232eb71a
feat(compiler/ci): enable rust bindings tests
2023-06-05 17:48:01 +01:00
youben11
c0e9f94810
fix(compiler): fix linking of the rust bindings
2023-06-05 17:48:01 +01:00
youben11
aae05e60c6
feat(compiler): copy cpp optim lib into output lib dir
...
this makes sure it will be installed as part of the compiler, as needed
currently by the rust bindings
2023-06-05 17:48:01 +01:00
youben11
566f119a06
feat(backend): expose random gaussian function
2023-06-05 16:48:52 +01:00
Andi Drebes
83c1654768
fix(compiler): Move operations in scf.for reinstantiation pattern before replacement
...
The reinstantianting rewrite pattern for `scf.for` operations,
`TypeConvertingReinstantiationPattern<scf::ForOp, false>`, calls
`mlir::ConversionPatternRewriter::replaceOpWithNewOp()` before moving
the operations of the original loop to the newly created loop. Since
`replaceOpWithNewOp()` indirectly marks all operations of the old loop
as ignored for dialect conversion, the dialect converter never
descends recursively into the newly created loop.
This causes operations that are illegal to be preserved, which results
in illegal IR after dialect conversion.
This commit splits the replacement into three steps:
1. Creation of the new loop via
mlir::ConversionPatternRewriter::create()`
2. Moving operations from the old loop to the newly created one
3. Replacement of the original loop with the results of the new one
via `mlir::ConversionPatternRewriter::replaceOp()`
This causes the operations of the loops not to be ignored and fixes
dialect conversion.
2023-05-30 16:56:39 +02:00
rudy
07d97f266d
feat(frontend-python): display progress during fhe execution
2023-05-26 15:56:23 +02:00
rudy
07e0f93001
fix(optimizer/ci): benchmark commit comment
2023-05-25 03:51:17 -04:00
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
Agnes Leroy
3561b51329
bench(backend-gpu): add multi-gpu support in pbs benchmark
...
Remove amortized PBS bench & bench with copy as well, it is deprecated
2023-05-24 15:32:20 +02: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
Agnes Leroy
72ee8eb572
fix(backend-gpu): decrease opt values for N >= 2048 for new low lat pbs
2023-05-23 11:34:53 +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
Umut
fdfd4760f1
refactor(frontend-python): matmul and dot tests to be consistent with the rest of the tests
2023-05-18 09:15:27 +02:00
Umut
9e73a20d1e
fix(frontend-python): accept full range of clear arguments
2023-05-18 09:15:27 +02:00
Umut
01850f68e6
test(frontend-python): increase the number of retries for encrypted matmul and encrypted dot tests
2023-05-18 09:15:27 +02:00
Agnes Leroy
b174f81687
fix(backend-gpu): avoid warp branching in the PBS
2023-05-17 15:01:37 +02:00
rudy
577e7847c6
fix(common): .gitmodules, relative url to stay on ssh or https
2023-05-17 14:15:16 +02:00
Quentin Bourgerie
5df44ad6f8
chore(compiler/build): Remove script to get BUILD_DIR
2023-05-17 13:57:37 +02:00
Umut
b6b6a642d8
test(frontend-python): add edge error tests for encrypted matmul and dot
2023-05-16 15:29:02 +02:00
Umut
fe314b140c
fix(frontend-python): add dot to multiplication group during bit-width assignment
2023-05-16 15:29:02 +02:00
Umut
73c1aec7bd
chore(frontend-python): fix pylint warnings
2023-05-16 15:29:02 +02:00
Umut
6d16d34b22
fix(frontend-python): add missing error messages on high bit-width encrypted dot and matmul
2023-05-16 15:29:02 +02:00
Umut
52cc0c108a
fix(frontend-python): update outdated tests after bit-width optimizations
2023-05-16 15:29:02 +02:00
Umut
d6efc62e5f
docs(frontend-python): add missing highlighted_result documentation in graph formatting
2023-05-16 13:16:08 +02:00
Umut
aaf1e60c8c
fix(frontend-python): strip generated MLIRs
2023-05-16 13:16:08 +02:00
Andrei Stoian
817ee6b637
feat(compiler): add matmul eint eint op
2023-05-15 11:36:47 +02:00
Mehran Meidani
a5c679f0dc
docs(frontend-python): add sha256 tutorial
2023-05-15 09:30:06 +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
rudy
e9e097d941
fix(frontend-python): remove FromElementsOp textual workaround
...
speedup long mlir generation and simplify code
2023-05-12 10:05:19 +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
Umut
ad1d5447e1
fix(frontend-python): link torch openmp to concrete openmp to avoid multiple openmp runtimes
2023-05-11 13:19:55 +02:00
Quentin Bourgerie
462a23b622
fix(compiler/fhe): Allows noop FHE.round operators and fold it
2023-05-11 12:52:38 +02:00
Umut
d99436e098
fix(frontend-python): broadcast tlu input on multi tlus
2023-05-11 11:31:36 +02:00
rudy
4c88557dee
feat(frontend-python): prune_useless_nodes, faster and simpler
2023-05-10 18:11:12 +02:00
rudy
417e729c00
fix(frontend-python): explicit multi outputs circuit error
2023-05-10 16:00:54 +02:00
Umut
03c5667600
fix(frontend-python): raise proper error on encrypted multiplication on large bit-widths
2023-05-10 12:44:50 +02:00
Umut
0f726882c9
fix(frontend-python): support axis as a positional argument for np.expand_dims
2023-05-10 12:09:16 +02:00
Georgio Nicolas
5b07f44e74
chore(common): fix broken link to tfhe-rs
2023-05-10 09:56:48 +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
Umut
34893eca09
test(frontend-python): increase the number of retries for table lookup tests
2023-05-09 17:22:11 +02:00
Umut
da4fedaabf
test(frontend-python): increase tolerance of p_error simulation tests
2023-05-09 17:22:11 +02:00
Pedro Alves
43a58e1820
refactor(backend-gpu): replace the amortized PBS by the new low latency PBS in boolean gates.
2023-05-05 18:15:06 +02:00
Pedro Alves
336709a011
refactor(backend-gpu): replace the amortized PBS by the new low latency PBS in circuit bootstrap
2023-05-05 18:15:06 +02:00