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
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
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
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
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
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
youben11
ad79aa627f
fix: don't pass ref to runtimeLibPath
...
We were keeping a reference to the path which led to its use after the
string was freed
2022-03-28 13:42:18 +01:00
youben11
9de1776753
fix: fix imports
2022-03-28 13:42:18 +01:00
youben11
d1da6ce05f
fix: detect early when parallelization isn't supported
2022-03-28 13:42:18 +01:00
youben11
ed2e27695f
fix: pass built options instead of using default
2022-03-28 13:42:18 +01:00
Quentin Bourgerie
254b4dc530
enhance(compiler): Enable deallocation pass to free temporary buffers
2022-03-28 09:41:54 +02:00
Quentin Bourgerie
fc51b1d2ab
fix(compiler): Activate the loop parallelism in ConcreteToBConcrete when the option is set
2022-03-28 09:41:27 +02:00
youben11
d8aa9ff76b
tests: test execution of transpose
2022-03-24 16:04:57 +01:00
youben11
77356fa374
feat: lower FHELinalg.transpose to linalg.generic
2022-03-24 16:04:57 +01:00
youben11
4e64b9e12a
feat: support FHELinalg.transpose in MANP
2022-03-24 16:04:57 +01:00
youben11
3a4723a0b8
feat: add FHELinalg.transpose operation
2022-03-24 16:04:57 +01:00
rudy
6c7cd97e73
fix(warning): remove a warning in test end_to_end_jit_fhelinalg
2022-03-24 11:13:36 +01:00
Quentin Bourgerie
c70ef1dcda
fix(support): Use shared_ptr intead of raw ptr on JitLambdaSupport that allows the JitLambda to be used after that the compilation result is freed
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
6717c4f5ff
chore(test): Missing lambda tests in test target
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
d23b978ed8
fix(test): Consume the error when we expected a failure
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
2373a67592
fix(python): Re-enable parallelize options after rebasing
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
0d376bc559
enhance(compiler): template result of typed vector from PublicResult
2022-03-24 11:00:36 +01:00