Commit Graph

401 Commits

Author SHA1 Message Date
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
14faa4c7df chore(CI): fix concrete_internal branch name 2022-03-15 18:14:35 +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
Mayeul@Zama
0d7c3570cb style: format tests 2022-03-10 14:38:19 +01:00
Umut
a1e4329ca8 fix: use proper broadcasting condition during matmul to linalg generic 2022-03-08 16:04:32 +03:00
youben11
1dd8cfaf48 ci: remove tests from macos job on PRs
even when using the cache, the macos job on PR takes a lot of time, due
to the hardware limitations causing execution to take so much time. So
instead, we limit the macos job to the build to make sure it can
compile, and only run the tests for macos on push events
2022-03-08 12:13:25 +01: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
Quentin Bourgerie
925745f0e3 fix(thirdlib): Compilation error with clang and not CXX17 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
a4ae9b9541 fix(TestLib): fix error message typo. 2022-02-28 21:00:48 +00: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
f2bb077108 fix(TestLib): add missing test using a LUT/PBS. 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
4f19dce899 fix: adapt dialect tests after recent pipeline changes
new passes have affected the order of appearance of constants, so they
just needed to be put at the top in the expected IR
2022-02-24 09:44:26 +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
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
7f0be306f0 test(compiler): Temporary disable test
This test is a bit artificial, let see if we actually want to fix it
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
61fefde35a fix(compiler): Compilation gcc7 2022-02-17 15:53:23 +01:00
Quentin Bourgerie
a068a728d3 chore(compiler): Fix missing dependencies in the build system 2022-02-17 15:53:23 +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
b1d6b7e653 test(compiler): TEMPORARY Disable tiling test since bufferization didn't yet support 2022-02-17 15:53:23 +01:00
Quentin Bourgerie
0439ef47da style(test): Formatting 2022-02-17 15:53:23 +01:00
Quentin Bourgerie
de66044374 cleanup(test): Remove some useless references 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
3330b2f855 fix(compiler): Take care of program with no input when creating client parameters 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
Quentin Bourgerie
b950a0010d chore(compiler/test): Move some test to end-to-end-jit-fhe 2022-02-17 15:53:23 +01:00
Umut
20a89b7b42 feat: implement concat operation 2022-02-15 16:52:07 +03:00