Commit Graph

296 Commits

Author SHA1 Message Date
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
Mayeul@Zama
ca8d4fb110 feat(compiler): use engine concrete C API
remove ConcreteToConcreteCAPI and ConcreteUnparametrize passes
2022-03-15 18:14:35 +01:00
Mayeul@Zama
cee07d2440 fix: rename LweSecretKeyParam.size dimension 2022-03-15 18:14:35 +01:00
Umut
a1e4329ca8 fix: use proper broadcasting condition during matmul to linalg generic 2022-03-08 16:04:32 +03:00
youben11
141497fd67 fix: use correct type 2022-03-04 10:00:46 +03:00
youben11
d2e3f2490b fix: use stdlib free instead of malloc
malloc.h isn't portable to MacOS
https://stackoverflow.com/questions/12973311/difference-between-stdlib-h-and-malloc-h
2022-03-04 10:00:46 +03:00
youben11
e63df413c8 fix: remove move() due to Wpessimizing-move
causing issue on mac
2022-03-04 10:00:46 +03:00
youben11
845b48b293 refactor: remove variable length array usages 2022-03-04 10:00:46 +03:00
youben11
65e2e2f600 fix: correct reassociation in expand and collapse ops 2022-03-02 09:55:54 +01:00
Umut
d06e0c0a59 feat: enhance matmul operation to support 1-D and N-D inputs 2022-03-01 18:06:40 +03:00
Antoniu Pop
f3fca58efc fix(runtime): add missing assert on context BSK. 2022-02-28 21:00:48 +00:00
Antoniu Pop
05059e8165 fix(ClientLib): correct the RuntimeContext in the argument list. 2022-02-28 21:00:48 +00:00
Antoniu Pop
8ee456315e fix(compiler): fix code generated for library header. 2022-02-28 21:00:48 +00:00
Antoniu Pop
ebb719cf60 fix(compiler): generate PIC code by default to allow generating shared libraries. 2022-02-28 21:00:48 +00:00
rudy
8b71e9d476 feat(Clientlib): separate client encryption and server computation
Resolve #200
2022-02-24 15:50:18 +01:00
youben11
e82360a9fe feat: support lowering of convolution end to end 2022-02-24 09:44:26 +01:00
youben11
86379096df feat: lower FHELinalg.conv2d to linalg
This is currently lowering to our custom linalg conv operation, since
linalg ops doesn't support custom types. But as linalg will support
custom types in the future, we may want to lower to the native linalg op
instead
2022-02-24 09:44:26 +01:00
youben11
6d2f853c07 feat: support Conv2d in MANP 2022-02-24 09:44:26 +01:00