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
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
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
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
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
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
35e6966f95
enhance(dfr/runtime): throttle the number of HPX worker threads when using OpenMP for loop parallelism within tasks.
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
Quentin Bourgerie
f52965e22f
enhance(compiler): Lower linalg to parallel loops and instantiare parallel loops with openmp
2022-02-03 10:59:12 +00:00
Antoniu Pop
260768e9af
enhance(dfr): use linker wrapping of main in addition to start/stop; enable DFR+OpenMP.
2022-02-03 10:59:12 +00:00
Umut
4203e86998
feat: implement basic sum operation
2022-02-01 12:18:56 +03:00
youben11
71cccc6a89
fix(mac): add options for required libraries
2022-01-24 17:02:25 +00:00
youben11
faa0abea3e
fix: use appropriate cmd for dynamic lib generation
...
macos and linux require a different cmd
2022-01-24 17:02:25 +00:00
youben11
2926ea6a5e
fix: use appropriate type for optimizingTransformer func
...
the call does return an `std::function` and was being referenced using
an `llvm::function_ref`, which apparently with some optim on Mac was
referncing bad memory location
2022-01-24 17:02:25 +00: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