Commit Graph

198 Commits

Author SHA1 Message Date
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
Quentin Bourgerie
1f3944047f feature(compiler): Introduce the BConcrete Dialect 2022-02-17 15:53:23 +01:00
Umut
20a89b7b42 feat: implement concat operation 2022-02-15 16:52:07 +03:00
Umut
a1818a3fd9 feat: implement advanced sum operation 2022-02-08 17:49:58 +03:00
Antoniu Pop
dddad849c7 enhance(compiler): add --parallelize-loops and --parallelize-dataflow compile flags in addition to --parallelize which enables both. 2022-02-03 10:59:12 +00:00
Antoniu Pop
ec633d57f6 fix(compiler): predicate OpenMP loop parallelization of Linalg on the --parallelize flag. 2022-02-03 10:59:12 +00:00
Umut
4203e86998 feat: implement basic sum operation 2022-02-01 12:18:56 +03:00
Umut
a7c63a5494 fix: get rid of documentation mistakes and styling inconsistencies in FHELinalgOps.td 2022-02-01 12:18:56 +03:00
Umut
8198a79deb feat: introduce maximum bit width constant, use it where appropriate, export it in python bindings 2022-01-24 17:26:37 +03:00
Andi Drebes
7fdeb61aa8 fix(compiler): Handle size_t explicitly in JITLambdaArgumentAdaptor::addArgument
On some systems, size_t does not alias any of the fixed-size, unsigned
integer types and therefore needs to be treated explicitly in
`JITLambdaArgumentAdaptor::addArgument` to prevent the function from
failing with an unknown argument type.

Closes issue #369: Bug: MacOS tests failing on master due to
IntLambdaArgument<size_t>.
2022-01-10 16:57:37 +01:00
Quentin Bourgerie
4ecae140ca doc(compiler): Enhance FHE Dialect documentation 2022-01-06 18:07:19 +01:00
youben11
2009ee1c94 chore: changing ref to repo after its renaming
also formatting and update the check_license script to match that
2022-01-06 12:40:10 +01:00
rudy
58e02fd035 feat(Testlib): lib for testing libs generated by concretecompiler
Closes #201
2022-01-05 09:29:57 +01:00
Antoniu Pop
8f71c331d4 fix(runtime): formatting. 2022-01-04 12:43:33 +01:00
Antoniu Pop
93835e0106 fix(runtime): move deallocation of key clones in context destructor. 2022-01-04 12:43:33 +01:00