Commit Graph

581 Commits

Author SHA1 Message Date
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
youben11
ec8004cd3a chore: configure parallel marker for pytest
avoid warning during tests
2022-04-04 12:48:48 +01:00
youben11
690b4f75c5 feat(python): support loop parallelization
Remove hard checks on parallelization support, we allow compilation
unconditionally of the support for parallel execution
2022-04-04 12:48:48 +01:00
youben11
01f6a334ff chore: remove macos workaround for linking runtimelib 2022-04-04 11:52:23 +01:00
youben11
ec7d1232f1 feat: add runtimeLib link for library compilation
runtime library will be linked to compiled library
2022-04-04 11:52:23 +01:00
youben11
bd6e8c7bbc fix: go back one additional directory
package has been refactored adding compiler/ under concrete/
2022-04-04 09:15:31 +01:00
youben11
78def04fe5 refactor: rename [jit|library]lambdasupport to [jit|library]support 2022-04-04 09:15:31 +01:00
youben11
583d5edf00 docs: fix docs generation
compiler directory had to be created for symlinks
2022-04-04 09:15:31 +01:00
youben11
edd10c1436 test: update tests to the refactored API 2022-04-04 09:15:31 +01:00
youben11
999ab4e5ea refactor: recreate the Python API using wrappers
All Cpp objects are now wrapped, and calls are being forwarded after
strict type checking for avoiding weird behaviors.
The same Cpp API is now exposed to Python
2022-04-04 09:15:31 +01:00
youben11
308504566f chore: add linting step with pylint 2022-04-04 09:15:31 +01:00
youben11
b55f931d7b ci: enable python formatting check 2022-04-04 09:15:31 +01:00
youben11
51308058c1 chore: format python code with black 2022-04-04 09:15:31 +01:00
Antoniu Pop
17c72f2e2d fix(dataflow docker image): remove obsolete libDFRuntime.so references in the dockerfile. 2022-04-02 10:59:25 +01:00
Antoniu Pop
51d4d044cb fix(build): refactor DFRuntime build and link in ConcretelangRuntime instead. 2022-04-01 20:39:16 +01:00
Antoniu Pop
0b14f4c7c5 feat(test): allow selecting loop/dataflow parallelism independently in tests and enable loop parallelism selection by default. 2022-04-01 20:39:16 +01:00
Antoniu Pop
0e38e0a48c feat(parallelization): enable OpenMP/loop parallelism as a compilation target independently of HPX/DFR. 2022-04-01 20:39:16 +01:00
rudy
9d754e947c fix(ci): only upload keysetcache on master 2022-03-31 11:56:56 +02:00
Mayeul@Zama
b76839b8c9 fix(cmake): fix cmake dependencies 2022-03-30 17:20:20 +02:00
Mayeul@Zama
9ccced7d93 fix(cmake): unify tablegen headers generation dependencies 2022-03-30 17:20:20 +02:00
rudy
2c4d399575 feat(KeySetCache): use a artifacts to store the cache 2022-03-30 10:11:38 +02:00
Ayoub Benaissa
5a7d6a2c69 chore: stop pushing to internal pypi by default 2022-03-29 09:01:43 +01:00
Quentin Bourgerie
393d818fea chore: Update LICENSE 2022-03-28 16:57:27 +02:00