youben11
2e5f92b6b8
refactor: remove BConcrete dialect
...
- no more Concrete ciphertext/plaintext types: they are represented using standard MLIR types (int/tensor)
- Technically BConcrete was renamed to Concrete, and old Concrete was
removed
- TFHE -> Concrete now takes into account the conversion of tensor of
ciphertext into tensors of an additional dimension (LWE dim)
- Bufferization now works in Concrete
- Old Concrete optimization were moved to TFHE
- Concrete is now the dialect that lowers to CAPI calls
- TFHE -> Concrete now uses OpConversionPattern and is much cleaner in
terms of type conversion
- Disabled tests for batching, as there was something weird about it:
batchable operations implemented in Concrete but pass run in FHELinalg
2023-02-21 16:16:55 +01:00
tmontaigu
ee00672996
feat(rust): partially bind CircuitGate, EncryptionGate
...
This adds partial bindings of the CircuitGate, EncrytionGate
and Encoding types for the rust frontend
2023-01-24 15:49:44 +01:00
youben11
8c6a0859cd
refactor(rust): add Rust wrapper for every CStruct
...
we want to wrap CStructs in RustStructs to own them, and free memeory
when they are no longer used. Users won't have to deal with the direct
binded CAPI, but the new wrappers
2023-01-02 12:10:14 +01:00
Quentin Bourgerie
d15c9822db
fix(rust-bindings): Fix rust bindings after raise-encoding
2022-12-13 17:01:52 +01:00
tmontaigu
f36e1fe882
feat(CAPI): use const ptrs to create tensor lambda arguments
2022-12-07 15:55:52 +01:00
youben11
7d785eebec
feat(rust): support serialization
2022-12-05 17:17:53 +01:00
youben11
fbc60097ab
refactor(rust): resolve artifacts' path and better stringRef mgmnt
2022-12-05 17:17:53 +01:00
youben11
ad988de9a3
feat(CAPI): add CompilationFeedback API
2022-12-05 17:17:53 +01:00
youben11
f05b1bd1ea
feat(rust): support execution with tensor args
2022-12-02 14:03:02 +01:00
youben11
16f3b0bbf6
feat(rust): manage erros coming from compiler
...
C struct now contains an additonal char* pointer, which can be either
NULL in case there is no error, or a buffer containing the error
message. It's the responsability of destructor function to free that
memory.
2022-12-02 14:03:02 +01:00
youben11
15b4aac0a1
feat(rust): support keygen, encryption, execution
2022-12-02 14:03:02 +01:00
youben11
7f55385ea2
feat(rust): load server lambda for later execution
2022-12-02 14:03:02 +01:00
youben11
b00115f4ae
feat(rust): compile mlir into library
...
CAPI covering a wider API of the Support library.
Better error handling. Could also be improved by returning an error
message back from C to rust (left TODO).
2022-12-02 14:03:02 +01:00
youben11
5661b758d7
feat(CAPI): add initial API to do round-tripping with CompilerEngine
2022-11-23 14:01:25 +01:00
Mayeul@Zama
0657767bae
style(cmake): run format_cmake.sh
2022-11-18 15:15:41 +01:00
youben11
5b46a74b7f
feat(CAPI): API to get the width of an eint/esint
2022-11-17 09:54:51 +01:00
youben11
5576d1d176
feat(CAPI): expose encrypted signed int in CAPI
2022-11-17 09:54:51 +01:00
Mayeul@Zama
dd62896bc8
chore(compiler): fix pessimizing-move
2022-11-14 14:04:46 +01:00
youben11
eabd8b959d
fix(CAPI): remove Cpp code from CAPI
...
this required to have a CAPI that when asked for types, returns a
structure that can report if an error was faced during type creation.
This is required since a failure at that stage in the compiler would
lead to a segfault in the python bindings for example, and we want to be
able to handle this scenario gracefully.
2022-11-09 12:53:25 +01:00
Quentin Bourgerie
dbfde466bc
feat(python): Add compilation feedback to the python bindings
2022-09-14 10:03:25 +02:00
Quentin Bourgerie
c08a06ed8e
chore: Just rename configuration variable to enable the dataflow runtime
2022-08-24 11:35:05 +02:00
Quentin Bourgerie
9257404f5f
fix(python-bindings): Support np.array with dtype upt to 64 bits
2022-08-19 14:15:21 +02:00
Antoniu Pop
615109d432
fix(dfr): simplify initialization and add namespaces where possible.
2022-08-04 17:06:09 +01:00
Mayeul@Zama
928a44d243
chore(ci): enforce ending files with a newline
2022-06-16 17:04:25 +02:00
youben11
1354759884
chore: rename refs to main branch
2022-06-09 09:19:06 +01:00
Umut
b052157fae
refactor: separate runtime context from public arguments
2022-05-30 10:19:14 +03:00
youben11
5f1a539505
feat(python): get path to diff artifacts
...
- path to client parameters file
- path to shared library
2022-05-09 16:18:21 +01:00
youben11
f223f02ab7
feat: parameterize artifact generation in lib compilation
2022-05-09 16:18:21 +01:00
youben11
843dd0eb5b
feat(python): seriliaze client parameters
2022-05-02 10:16:39 +02:00
youben11
e9345b3859
feat: serialize public result w/ python bindings
2022-04-22 15:53:26 +01:00
youben11
0a5881096c
feat(python): serialize public arguments
2022-04-15 15:25:25 +01:00
youben11
690b4f75c5
feat(python): support loop parallelization
...
Remove hard checks on parallelization support, we allow compilation
unconditionally of the support for parallel execution
2022-04-04 12:48:48 +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
Mayeul@Zama
9ccced7d93
fix(cmake): unify tablegen headers generation dependencies
2022-03-30 17:20:20 +02:00
youben11
11a1ea38b4
fix: disable exceptions on termination
...
termination was actually called everytime the interpreter was exiting,
and non-parallel packages have been throwing exception because of that
2022-03-28 13:42:18 +01: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
youben11
d1da6ce05f
fix: detect early when parallelization isn't supported
2022-03-28 13:42:18 +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
52aa18a848
fix(python): Actually use the given lambda support
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
youben11
18f0ad77e7
fix: use new dfr api
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
youben11
5b37ec640c
feat: support parallelization in python
2022-03-17 16:15:02 +01:00
rudy
8b71e9d476
feat(Clientlib): separate client encryption and server computation
...
Resolve #200
2022-02-24 15:50:18 +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
b8bd38dd6c
feat(compiler): Output client parameters when compile to a library
...
close #198
2022-01-03 17:57:16 +01:00
youben11
f1161f7f6d
chore: formatting
...
Quick fix due to ordering of includes, had to add #include
<mlir/Transforms/DialectConversion.h> to include/concretelang/Conversion/Utils/GenericOpTypeConversionPattern.h
2022-01-03 09:29:19 +01:00