youben11
f4166a4973
docs: use consistent style for comment blocks
...
prefix comment blocks with ///
2022-07-07 16:11:19 +01:00
Quentin Bourgerie
2cfccd8f89
refactor: restructure the tests directory layout
2022-07-07 17:10:09 +02:00
youben11
5668e447e7
feat: support python 3.7
2022-07-07 09:55:44 +01:00
Antoniu Pop
261e59d2b4
feat(dfr): add more operations to be converted to tasks.
2022-06-28 17:11:12 +01:00
Antoniu Pop
235cf6fbe3
fix(unittest): fix expected result for sub_eint_int_term_to_term_broadcast
2022-06-28 17:11:12 +01:00
Antoniu Pop
26084a68aa
fix(compiler): delay all memref deallocation calls introduced by the bufferizer and that are made into futures until after the synchronization point.
2022-06-28 17:11:12 +01:00
Antoniu Pop
fb219f0fbf
feat(runtime): increase the limit of task input parameters to 16.
2022-06-28 17:11:12 +01:00
Umut
b3a2671dc7
feat: implement all kinds of subtractions
2022-06-28 11:13:03 +03:00
Umut
8f8a57d220
feat: implement MANP calculation for tensor.insert op
2022-06-28 11:13:03 +03:00
Mayeul@Zama
bcc5c750a1
fix(client): fix assumption that glweDimension = 1
2022-06-28 09:24:39 +02:00
Quentin Bourgerie
1e261dea7c
feat(test): add option to provide manual crypto parameters for tests
2022-06-28 09:24:39 +02:00
Quentin Bourgerie
d0d98c8228
chore: Add build-benchmarks to the all target
2022-06-27 16:45:56 +02:00
Quentin Bourgerie
f06957a197
tests(compiler): Add a benchmark tool builded thanks google-benchmarks
2022-06-27 16:45:56 +02:00
Quentin Bourgerie
2de76e9c4e
fix(compiler): Fix tfhe global parametrization to handle k>1
...
Co-authored-by: Mayeul@Zama <mayeul.debellabre@zama.ai >
2022-06-24 15:35:51 +02:00
Quentin Bourgerie
ef9d11c16f
cleanup(compiler): Remove dead code and usless pass
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
ab64532b7b
cleanup(compiler): Remove old bufferization passes
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
9baee39351
cleanup(compiler): Cleanup comments on ConcreteToBConcrete
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
acbb5bf17a
cleanup(compiler): Remove custom print and parse TFHE types
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
9dd776533a
cleanup(compiler): Remove useless concrete types, simplify print and parse, and remove BConcreteToBConcreteCAPI pass
2022-06-24 11:00:08 +02:00
Mayeul@Zama
928a44d243
chore(ci): enforce ending files with a newline
2022-06-16 17:04:25 +02:00
Andi Drebes
3b8ea630a1
refactor(compiler): Rename SubIntGLWEOp to SubGLWEIntOp
...
Rename `SubIntGLWEOp` to `SubGLWEIntOp` for a consistent naming scheme
of all TFHE ops.
2022-06-14 14:36:28 +02:00
Andi Drebes
45577fb79e
Rebase onto llvm-project f69328049e9e with local changes
...
This commit rebases the compiler onto commit f69328049e9e from
llvm-project.
Changes:
* Use of the one-shot bufferizer for improved memory management
* A new pass `OneShotBufferizeDPSWrapper` that converts functions
returning tensors to destination-passing-style as required by the
one-shot bufferizer
* A new pass `LinalgGenericOpWithTensorsToLoopsPass` that converts
`linalg.generic` operations with value semantics to loop nests
* Rebase onto a fork of llvm-project at f69328049e9e with local
modifications to enable bufferization of `linalg.generic` operations
with value semantics
* Workaround for the absence of type propagation after type conversion
via extra patterns in all dialect conversion passes
* Printer, parser and verifier definitions moved from inline
declarations in ODS to the respective source files as required by
upstream changes
* New tests for functions with a large number of inputs
* Increase the number of allowed task inputs as required by new tests
* Use upstream function `mlir_configure_python_dev_packages()` to
locate Python development files for compatibility with various CMake
versions
Co-authored-by: Quentin Bourgerie <quentin.bourgerie@zama.ai >
Co-authored-by: Ayoub Benaissa <ayoub.benaissa@zama.ai >
Co-authored-by: Antoniu Pop <antoniu.pop@zama.ai >
2022-06-14 14:35:25 +02:00
youben11
670af02112
fix: remove subinteint folder
...
it actually requires to negate the result which can't be done via
standard folder, so we remove it can cause erroneous computation
2022-06-14 10:00:01 +02:00
youben11
1354759884
chore: rename refs to main branch
2022-06-09 09:19:06 +01:00
youben11
5636342097
feat: add option to enable/disable optimization
2022-06-01 14:35:12 +01:00
youben11
8d0f20390c
feat: optimize concrete mul with constant values
2022-06-01 14:35:12 +01:00
youben11
c42f0a1ada
feat: add NoSideEffect trait to intToCleartext op
...
This would be useful for future pass to eliminate it when its result is
no longer used
2022-06-01 14:35:12 +01:00
Mayeul@Zama
ee64b68109
chore(optimier): use optimizer dependency as a submodule
2022-05-31 10:01:26 +02:00
Quentin Bourgerie
dd28a7f132
fix(compiler): Concrete.ZeroOp is a 0 value tensor in BConcrete Dialect
2022-05-30 14:22:32 +01:00
youben11
8d04c1e4af
feat: fold tensor ops with constant values
...
add/sub with constant tensors of 0s
mul with constant tensors of 1s
2022-05-30 08:35:14 +01:00
youben11
8aa6f3e809
feat: fold add/sub/mul with specific constant values
...
Remove add/sub with constant zero values
Remove mul with constant one values
2022-05-30 08:35:14 +01:00
Umut
b052157fae
refactor: separate runtime context from public arguments
2022-05-30 10:19:14 +03:00
Quentin Bourgerie
fcad585546
test(compiler): Add test of MANP Analysis on operators on negative values and fixes test refs
2022-05-24 14:12:28 +02:00
Quentin Bourgerie
ae9a04cd56
fix(compiler): Use the absolute value when computing the square of a constant in MANP analysis
...
The computation of the norm2 should take care of the sign of the constant to compute the square of this constant.
2022-05-24 14:12:28 +02:00
Quentin Bourgerie
6532c8f449
fix(compiler): Canonicalize before MANP analysis
2022-05-24 14:12:28 +02:00
Quentin Bourgerie
6bb1e05658
fix(compiler): Compiler // options are badly setted
2022-05-23 13:53:23 +02:00
Mayeul@Zama
f5faf4c421
feat(optimizer): update concrete_optimizer dependency
...
fix breaking changes
2022-05-18 14:04:48 +02:00
Mayeul@Zama
ba315f4cf0
compat(optimizer): use compat branch before merging breaking change to master
2022-05-18 11:27:16 +02:00
rudy
6f02d1248d
feat(optimizer): update to use the new cpp brige
2022-05-10 15:36:40 +02:00
youben11
5f1a539505
feat(python): get path to diff artifacts
...
- path to client parameters file
- path to shared library
2022-05-09 16:18:21 +01:00
youben11
211241fcb2
refactor: store compil artifacts under a single dir
2022-05-09 16:18:21 +01:00
youben11
f223f02ab7
feat: parameterize artifact generation in lib compilation
2022-05-09 16:18:21 +01:00
rudy
61052a237b
fix(Makefile): concrete-optimizer, rm target dir from dependencies
2022-05-09 15:04:24 +02:00
rudy
1b70a38754
feat(optimizer): expose the p_error parameter
...
simplify the handling of options by relying more on CompilationOptions
2022-05-06 13:06:08 +02:00
rudy
eb1f5b1842
fix(keysetcache): use a portable hash function
...
will help to make macos faster on the ci
2022-05-06 10:00:11 +02:00
Andi Drebes
f232935592
fix: Make functions in LambdaSupport.h purely virtual to avoid linking errors in debug builds
...
Some virtual functions in `LambdaSupport.h` are meant to be purely
virtual, but lack a `= 0` in their signature. In debug builds, this
causes the linker to look for a default implementation, resulting in a
linker error.
This patch marks the virtual functions as purely virtual, resolving
the linker issues in debug builds.
2022-05-04 22:06:00 +02:00
rudy
8c25a97133
fix(KeySetCache): remove a race condition
...
thanks to Umut for pointing it
2022-05-04 08:42:57 +02:00
rudy
b45e469a44
feat(ci): macos, fix keysetcache use
2022-05-02 17:20:22 +02:00
youben11
843dd0eb5b
feat(python): seriliaze client parameters
2022-05-02 10:16:39 +02:00
rudy
923a1b58e1
feat(optimizer): plug online parameter estimation
2022-04-29 15:11:42 +02:00