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
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
d40ae16273
fix(compiler): make task work functions unique even across separate translation units.
2022-04-11 15:05:22 +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
fafaa4c870
fix(macos): ignore undefined symbols for JIT compilation
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
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
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
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
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
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
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
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
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
Quentin Bourgerie
52aa18a848
fix(python): Actually use the given lambda support
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
1422b575d0
fix(compiler): Remove custom llvm pipeline as it's not used
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
cc1e74d923
cleanup(compiler): Remove JitCompilerEngine
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
1620259807
cleanup(capi/python-bindings): Remove reference to JitCompilerEngine
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
5b83b700d2
enhance(compiler): Expose a compilation options instead of just the funcname
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
1b984f5119
cleanup(python): Cleanup python bindings after refactoring of CompilerEngine
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
8867d313ee
feat(python): Expose Jit and Library compiler support
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
f8968eb489
enhance(compiler/support): Refactor lambda support to have fatorized supoort for both lib and jit lambda
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
44b1e5bab2
fix(clientlib): Allow tensor with dimensions equals to 0
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
1ffd480d07
cleanup(compiler/jit): Removing dead code since the preparation of arguments has been factorized thanks the EncryptedArguments
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
0d1f041323
refactor(jit): Use PublicArguments instead of JitLambda::Argument to call the lambda (uniform calling to ServerLambda and JitLambda)
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
8a52cdaaf5
fix(client/server): Fix of clear scalar
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
82741868f1
refactor(client/server): Rename encrypted_scalars_and_sizes_t o TensorData as it can be used for any kind of tensor
2022-03-24 11:00:36 +01:00