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
youben11
11a1ea38b4
fix: disable exceptions on termination
...
termination was actually called everytime the interpreter was exiting,
and non-parallel packages have been throwing exception because of that
2022-03-28 13:42:18 +01:00