Quentin Bourgerie
dd28a7f132
fix(compiler): Concrete.ZeroOp is a 0 value tensor in BConcrete Dialect
2022-05-30 14:22:32 +01:00
youben11
0e717ea266
refactor(ci): avoid deuplications of if condition
2022-05-30 08:55:31 +01:00
youben11
852f2dbc35
ci: auto update compiler image if gcc/hpx rebuilt
...
reorder dependencies
2022-05-30 08:55:31 +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
bd49cc9a48
fix(ci): compiling concrete-optimizer for release
2022-05-04 09:18:36 +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
ab8c22c6a0
fix(ci): BuildAndPushDockerImages should pre-compile concrete-optimizer
2022-05-03 15:55:00 +02:00
rudy
94a8f918d7
feat(ci): no KeySetCache download for full cache change
2022-05-03 11:12:24 +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
rudy
3eec7d6817
fix(doc): update sphinx for python 3.10
2022-04-26 16:22:15 +02:00
rudy
c7bf93c388
feat(ci): macos, use compilation cache
2022-04-25 17:18:33 +02:00
youben11
e9345b3859
feat: serialize public result w/ python bindings
2022-04-22 15:53:26 +01:00
rudy
231f413a21
fix(main): unchecked llvm expected
2022-04-22 15:14:41 +02:00
youben11
0a5881096c
feat(python): serialize public arguments
2022-04-15 15:25:25 +01:00
youben11
d9d35c1023
refactor: use unique_ptr consistently for PublicArguments
2022-04-15 15:25:25 +01:00
youben11
8350d4abc4
chore: remove debug print
2022-04-15 15:25:25 +01:00
rudy
1fca8f4b91
feat(KeySetCache): detect corrupted keysetcache
2022-04-15 09:13:55 +02:00
youben11
1b34388d6e
tests: check error message when jit-exec DF on an unsupported runtime
...
- factorize parallel tests
- define fixture to know if parallel tests have been selected
2022-04-14 11:07:39 +01:00
youben11
c8ca318fde
feat: throw clear error if DF jit-exec is not supported
...
was previously getting an undefined symbol error as the runtime lib
didn't support dataflow execution
2022-04-14 11:07:39 +01:00
rudy
c2d92b0132
feat(ci): pruning keysetcache content
2022-04-13 16:12:22 +02:00
rudy
9387b8793c
feat(ci): clear ccache stats in docker image
2022-04-13 11:31:15 +02:00
rudy
2b6eb5f23d
feat(ci): freeing some space
...
this is useful for commits changing many tests
this simply clear the docker cache
2022-04-13 11:12:33 +02:00
Quentin Bourgerie
247d60503d
fix(compiler): Custom copy op from 1D tensor to avoir stack allocation from mlir memref to llvm lowering
2022-04-13 10:16:53 +02:00
youben11
af300055a7
fix(macos): update dependency after compiling dylib
...
when dellocate is used to include dependencies in python wheels, the
runtime library will have an id that is prefixed with /DLC, and that path
doesn't exist. So when generated libraries won't be able to find it
during load time. To solve this, we change the dep in the generated
library to be relative to the rpath which should be set correctly during
linking. This shouldn't have an impact when /DLC/concrete/.dylibs/* isn't
a dependecy in the first place (when not using python).
also set rpath when linking to RT lib
2022-04-12 13:56:18 +01:00
youben11
d7440f15c0
fix(python): lookup RTLib at a diff location in Mac
2022-04-12 13:56:18 +01:00
Quentin Bourgerie
35d8489b9c
fix(compiler/TFHE): Introduce bootstrap and keyswitch at the TFHE level
2022-04-12 09:37:56 +02:00
Andi Drebes
7cc0c01326
fix(compiler): Do not use C-style casts in multi_arity_call_dynamic_rank
...
C-style casts between function pointers result in an error using g++
8.3.0. This patch introduces a workaround based on `reinterpret_cast`,
in which the original function pointer is first cast into an unsigned
integer of sufficient size and then cast into the target function
pointer type.
TODO: Check that this is actually valid C++ with defined behavior on
all implementations / platforms.
2022-04-11 17:24:23 +02:00
Andi Drebes
e83c421bce
enhance(compiler): genDynamicRankCall.py: Match clang-format formatting rules
2022-04-11 17:24:23 +02:00
Andi Drebes
b6cec58549
fix(compiler): genDynamicRankCall.py use renamed tensorDataFromMemRef
2022-04-11 17:24:23 +02:00
Antoniu Pop
b77865cdd6
tests: disable forking new processes for running python tests.
2022-04-11 15:05:22 +01:00
Antoniu Pop
d40ae16273
fix(compiler): make task work functions unique even across separate translation units.
2022-04-11 15:05:22 +01:00
youben11
e6cb1f2073
tests: run parallel tests in separate processes
...
library compilation and execution failing the second time if not
2022-04-08 19:05:06 +01:00