Commit Graph

313 Commits

Author SHA1 Message Date
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
Quentin Bourgerie
5e8d2e7986 cleanup(clientlib): Remove ClientParameters serialization 2022-03-24 11:00:36 +01:00
Quentin Bourgerie
cb5b89545c fix(server): Dirty free allocated memref by the mlir program 2022-03-24 11:00:36 +01:00
Quentin Bourgerie
e72101f5c7 fix(compiler): Delete target machine when no more in use (prevent leak in compilation) 2022-03-24 11:00:36 +01:00
Quentin Bourgerie
73da7da81c enhance(client/server): Don't decrypt directly from istream use a intermediate container to represent public result 2022-03-24 11:00:36 +01:00
Quentin Bourgerie
6aaaeb8d3f enhance(compiler): Update v0 parameters table, that enable 8 bits 2022-03-22 12:38:58 +01:00
Quentin Bourgerie
8961be33d2 fix(compiler): Remove the 7bits restriction on compiler side, it's the optimizer that known the truth 2022-03-22 12:38:58 +01:00
youben11
bb289b6191 fix: link clientlib to concrete 2022-03-17 16:15:02 +01:00
youben11
18f0ad77e7 fix: use new dfr api 2022-03-17 16:15:02 +01:00
Antoniu Pop
337a9bb5c2 fix(dfr): add runtime termination call on compiler main exit. 2022-03-17 16:15:02 +01:00
Antoniu Pop
27318ff29a fix(runtime): disable main wrapping and provide _dfr_terminate new termination call for the runtime. 2022-03-17 16:15:02 +01:00
youben11
44ebd426f9 feat: setup init/termination of parallel execution in python 2022-03-17 16:15:02 +01:00
Antoniu Pop
2f31edef7f fix(runtime): add initialization guard to avoid double initialization/finalization of the runtime. 2022-03-17 16:15:02 +01:00
Antoniu Pop
7cfa0a1212 feat(dfr): add pre_main and post_main functions to be called when main wrapping is not feasible. 2022-03-17 16:15:02 +01:00
youben11
e43e7d9c17 fix: link runtime lib with dfruntime
there is no symbol referenced in the runtime lib that is in dfruntime,
but it is needed during execution when code gets generated using
dfruntime functions
2022-03-17 16:15:02 +01:00
youben11
5b37ec640c feat: support parallelization in python 2022-03-17 16:15:02 +01:00
Mayeul@Zama
73bb1c03d8 enhance(compiler): fix warnings
remove unused signature, functions, variable
remove pessimizing-moves
add cast before comparison
2022-03-15 18:14:35 +01:00
Antoniu Pop
c440fc30f8 fix: CMake dependencies
define CONCRETELANG_PARALLEL_EXECUTION_ENABLED at toplevel and prevent RuntimeContext copy constructors from passing engines map.
2022-03-15 18:14:35 +01:00