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
youben11
7e535f33db
tests(python): refactor/add/reduce tests
...
- We tests few things that aren't costly to tests like wrappers
- we reduce encrypted computation tests, as it's already done in cpp
tests, while we add tests to cover supported types
2022-04-08 19:05:06 +01:00
youben11
0d043d0606
chore(tests): separate compiler out test from python
...
tests/python should include tests related to the python package
2022-04-08 19:05:06 +01:00
youben11
91ccea9b6b
chore: remove external header target
...
there is no need to update the header file, and we already patched it in
925745f0e3 so new version won't work
unless patched
2022-04-08 17:18:18 +01:00
Ayoub Benaissa
cae23bc15d
ci: download keyset cache before tests if required
2022-04-08 17:18:11 +01:00
youben11
3dcd465962
ci: disable parallel package build
...
The current package name doesn't reflect that it's using
parallelization, and it's using platform linux_x86_64 which does mean
that it should work on any linux distro, while it's not the case
2022-04-06 08:43:53 +01:00
youben11
fafaa4c870
fix(macos): ignore undefined symbols for JIT compilation
2022-04-06 08:43:44 +01:00
youben11
4ced7c567a
fix: locate lib in current directory
...
not using ./ was causing dlopen not to found the lib
2022-04-06 08:43:44 +01:00
youben11
2ded4b6f43
fix: set rpath when linking using extra args
2022-04-06 08:43:44 +01:00