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
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
Quentin Bourgerie
35d8489b9c
fix(compiler/TFHE): Introduce bootstrap and keyswitch at the TFHE level
2022-04-12 09:37:56 +02:00
youben11
2ded4b6f43
fix: set rpath when linking using extra args
2022-04-06 08:43:44 +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
78def04fe5
refactor: rename [jit|library]lambdasupport to [jit|library]support
2022-04-04 09:15:31 +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
9ccced7d93
fix(cmake): unify tablegen headers generation dependencies
2022-03-30 17:20:20 +02: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
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
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
0d376bc559
enhance(compiler): template result of typed vector from PublicResult
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
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
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
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
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
18f0ad77e7
fix: use new dfr api
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
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
Quentin Bourgerie
925745f0e3
fix(thirdlib): Compilation error with clang and not CXX17
2022-03-04 10:00:46 +03: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
a4ae9b9541
fix(TestLib): fix error message typo.
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
3668b2d73a
feat: add a Conv2d operation in FHELinalg
2022-02-24 09:44:26 +01:00
youben11
78596f899f
feat: add generated linalg conv operation
...
This has been generated using linalg tools, then put in their
appropriate locations. This is intended as a workaround since linalg
doesn't support tensors of custom types yet. Any conversion using this
added operation should be able to use the default operation from linalg
when it starts supporting tensor of custom types.
2022-02-24 09:44:26 +01:00
Quentin Bourgerie
9627864d23
enhance(testlib): Fix the runtime testlib tools to handle the ciphertext bufferization and the new compiler concrete bufferized API
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
4e8a9d1077
enhance(runtime): Fix the runtime tools to handle the ciphertext bufferization and the new compiler concrete bufferized API
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
8a9cce64e3
enhance(compiler): Add custom finalize bufferize pass to handle memref.tensor_load op
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
626493dda7
enhance(compiler): Lower from Concrete to BConcrete and BConcrete to C API call
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
b3368027d0
refactor(compiler): Move FHELinalg.zero to FHE.zero_tensor and add zero and sero_tensor in TFHE and Concrete dialects
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
c8b45cc853
style(compiler/client): fix the naming LweSize to LweDimension for key size
2022-02-17 15:53:23 +01:00