Quentin Bourgerie
d0308dda43
chore: Use parameters curves generated files and expose security level options
2023-01-30 15:14:53 +01:00
Quentin Bourgerie
5d89ad0f84
enhance(feedback): Add p_error and global_perror to the compiler feedback
2022-11-24 09:59:19 +01:00
Umut
722e4d2eba
feat: give crt decomposition feedback
2022-11-24 09:59:19 +01:00
Quentin Bourgerie
dbfde466bc
feat(python): Add compilation feedback to the python bindings
2022-09-14 10:03:25 +02:00
Quentin Bourgerie
f4673e8276
feat(compiler): First draft or compilation feedback
2022-09-14 10:03:25 +02:00
rudy
48bf6e2696
feat(optimizer): report or warn using global p-error
2022-09-12 17:22:38 +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
rudy
cc6c2576ec
feat(optimizer): create optimizer dag and use it
2022-08-11 10:10:27 +02:00
Andi Drebes
85ebc0cb7a
Rebase onto llvm-project 3f81841474fe with patch for arbitrary types in linalg named ops
...
Rebase to llvm-project at 3f81841474fe with a pending upstream patch
for arbitrary element types in linalg named operations.
Co-authored-by: Ayoub Benaissa <ayoub.benaissa@zama.ai >
2022-07-27 22:45:38 +02:00
Quentin Bourgerie
511bcd99e7
Revert "feat(optimizer): create optimizer dag and use it"
...
This reverts commit 0b99f6d278 .
2022-07-27 18:35:47 +02:00
rudy
0b99f6d278
feat(optimizer): create optimizer dag and use it
2022-07-25 21:06:14 +02:00
Mayeul@Zama
928a44d243
chore(ci): enforce ending files with a newline
2022-06-16 17:04:25 +02: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
rudy
1b70a38754
feat(optimizer): expose the p_error parameter
...
simplify the handling of options by relying more on CompilationOptions
2022-05-06 13:06:08 +02: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
8350d4abc4
chore: remove debug print
2022-04-15 15:25:25 +01:00
youben11
1b34388d6e
tests: check error message when jit-exec DF on an unsupported runtime
...
- factorize parallel tests
- define fixture to know if parallel tests have been selected
2022-04-14 11:07:39 +01:00
Antoniu Pop
b77865cdd6
tests: disable forking new processes for running python tests.
2022-04-11 15:05:22 +01:00
youben11
e6cb1f2073
tests: run parallel tests in separate processes
...
library compilation and execution failing the second time if not
2022-04-08 19:05:06 +01:00
youben11
7e535f33db
tests(python): refactor/add/reduce tests
...
- We tests few things that aren't costly to tests like wrappers
- we reduce encrypted computation tests, as it's already done in cpp
tests, while we add tests to cover supported types
2022-04-08 19:05:06 +01:00
youben11
0d043d0606
chore(tests): separate compiler out test from python
...
tests/python should include tests related to the python package
2022-04-08 19:05:06 +01:00
youben11
4ced7c567a
fix: locate lib in current directory
...
not using ./ was causing dlopen not to found the lib
2022-04-06 08:43:44 +01:00
youben11
ec8004cd3a
chore: configure parallel marker for pytest
...
avoid warning during tests
2022-04-04 12:48:48 +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
78def04fe5
refactor: rename [jit|library]lambdasupport to [jit|library]support
2022-04-04 09:15:31 +01:00
youben11
edd10c1436
test: update tests to the refactored API
2022-04-04 09:15:31 +01:00
youben11
51308058c1
chore: format python code with black
2022-04-04 09:15:31 +01:00
youben11
9de1776753
fix: fix imports
2022-03-28 13:42:18 +01:00
Quentin Bourgerie
1b984f5119
cleanup(python): Cleanup python bindings after refactoring of CompilerEngine
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
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
5b37ec640c
feat: support parallelization in python
2022-03-17 16:15:02 +01: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
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
youben11
940cb96be4
chore: rename dialects
...
HLFHE to FHE
MidLFHE to TFHE
LowLFHE to Concrete
2021-12-29 15:13:34 +01:00
youben11
47ef595a2a
chore: use namespace concrete for the py package
...
Compiler tools such as CompilerEngine would now be imported from
concrete.compiler
Dialects would now be imported from concrete.lang.dialects
And anything related to concretelang can be imported directly from
concrete.lang
2021-12-29 15:13:34 +01:00
youben11
e73291abdc
chore: rename compiler to concrete-compiler
...
zamalang => concretelang
zamacompiler => concretecompiler
2021-12-29 15:13:34 +01:00
rudy
48197d55ac
feat(stress-tests): stress tests first case
...
Resolves #330
2021-12-28 09:03:38 +01:00
youben11
60b2cfd9b7
feat: support more dtype for scalars/tensors
...
dtype supported now: uint8, uint16, uint32, uint64
2021-12-13 17:40:28 +01:00
youben11
550318f67e
feat: support different numpy object types as input
...
- Scalar types: int, np.uint8 (to extend with other types later), and np.ndarray with shape == ()
- Tensor types: np.ndarray
2021-12-13 17:40:28 +01:00
Mayeul@Zama
dad4390518
feat(compiler): add a key cache
2021-12-07 12:11:56 +01:00
rudy
975ee86a5e
feat(compiler): add --compile option
...
Resolves #196
2021-11-30 17:42:28 +01:00
rudy
97389a3b06
Move HLFHE.dot_eint_int to HLFHELinalg.
...
Resolves #183
2021-11-09 11:39:08 +01:00
youben11
59e859177c
refactor: replace ExecutionArg by TensorLambdaArg
...
This add support for tensor inputs from the python bindings
2021-11-08 11:55:02 +01:00
youben11
b501e3d6c0
feat(python): support functions returning tensors
2021-11-08 11:55:02 +01:00
youben11
97ee8134ed
fix(python): register hlfhelinalg dialect
2021-11-03 15:37:43 +01:00
Andi Drebes
0cb5007c3c
enhance(compiler): Python bindings: Forward llvm::Expected error messages in exceptions
...
The code in `lib/CAPI/Support/CompilerEngine.cpp` invokes several
functions returning an `llvm::Expected<T>`. When those fail, the error
message retrieved from the error object the `llvm::Expected<T>`
instance is written to the standard error stream via
`mlir::zamalang::log_error()` and an exception with a more generic
error message is thrown.
This causes errors to show up on the standard error stream in tests
generating errors on purpose and checking them, e.g.:
```
tests/python/test_compiler_engine.py::test_compile_invalid[not
@main] Compilation failed: cannot find the function for generate
client parameters PASSED
```
This patch forwards the error message from an `llvm::Expected<T>`
instance in a runtime exception rather than writing it to the standard
error stream. Since exceptions are properly caught by the tests, no
errors show up during testing.
2021-11-02 16:34:42 +01:00