Antoniu Pop
fbca52f4a0
feat(dfr): add memory management for futures and associated data.
2022-08-04 17:06:09 +01:00
Antoniu Pop
eeb3ba8735
fix(compiler): add calls to enable either or both parts of the runtime based on compile options used.
2022-08-04 17:06:09 +01:00
Antoniu Pop
460fbabbe0
feat(runtime): deactivate main wrapping by default and add explicit initialization/termination.
2022-08-04 17:06:09 +01:00
Antoniu Pop
954b2098c6
feat(runtime): enable distributed execution.
2022-08-04 17:06:09 +01: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
youben11
f4166a4973
docs: use consistent style for comment blocks
...
prefix comment blocks with ///
2022-07-07 16:11:19 +01:00
Mayeul@Zama
bcc5c750a1
fix(client): fix assumption that glweDimension = 1
2022-06-28 09:24:39 +02:00
Quentin Bourgerie
2de76e9c4e
fix(compiler): Fix tfhe global parametrization to handle k>1
...
Co-authored-by: Mayeul@Zama <mayeul.debellabre@zama.ai >
2022-06-24 15:35:51 +02:00
Quentin Bourgerie
ab64532b7b
cleanup(compiler): Remove old bufferization passes
2022-06-24 11:00:08 +02:00
Mayeul@Zama
928a44d243
chore(ci): enforce ending files with a newline
2022-06-16 17:04:25 +02:00
Andi Drebes
45577fb79e
Rebase onto llvm-project f69328049e9e with local changes
...
This commit rebases the compiler onto commit f69328049e9e from
llvm-project.
Changes:
* Use of the one-shot bufferizer for improved memory management
* A new pass `OneShotBufferizeDPSWrapper` that converts functions
returning tensors to destination-passing-style as required by the
one-shot bufferizer
* A new pass `LinalgGenericOpWithTensorsToLoopsPass` that converts
`linalg.generic` operations with value semantics to loop nests
* Rebase onto a fork of llvm-project at f69328049e9e with local
modifications to enable bufferization of `linalg.generic` operations
with value semantics
* Workaround for the absence of type propagation after type conversion
via extra patterns in all dialect conversion passes
* Printer, parser and verifier definitions moved from inline
declarations in ODS to the respective source files as required by
upstream changes
* New tests for functions with a large number of inputs
* Increase the number of allowed task inputs as required by new tests
* Use upstream function `mlir_configure_python_dev_packages()` to
locate Python development files for compatibility with various CMake
versions
Co-authored-by: Quentin Bourgerie <quentin.bourgerie@zama.ai >
Co-authored-by: Ayoub Benaissa <ayoub.benaissa@zama.ai >
Co-authored-by: Antoniu Pop <antoniu.pop@zama.ai >
2022-06-14 14:35:25 +02:00
youben11
1354759884
chore: rename refs to main branch
2022-06-09 09:19:06 +01:00
youben11
5636342097
feat: add option to enable/disable optimization
2022-06-01 14:35:12 +01:00
youben11
8d0f20390c
feat: optimize concrete mul with constant values
2022-06-01 14:35:12 +01:00
Umut
b052157fae
refactor: separate runtime context from public arguments
2022-05-30 10:19:14 +03:00
Quentin Bourgerie
6532c8f449
fix(compiler): Canonicalize before MANP analysis
2022-05-24 14:12:28 +02:00
Quentin Bourgerie
6bb1e05658
fix(compiler): Compiler // options are badly setted
2022-05-23 13:53:23 +02:00
Mayeul@Zama
f5faf4c421
feat(optimizer): update concrete_optimizer dependency
...
fix breaking changes
2022-05-18 14:04:48 +02:00
rudy
6f02d1248d
feat(optimizer): update to use the new cpp brige
2022-05-10 15:36:40 +02:00
youben11
211241fcb2
refactor: store compil artifacts under a single dir
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
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
rudy
923a1b58e1
feat(optimizer): plug online parameter estimation
2022-04-29 15:11:42 +02:00
youben11
c8ca318fde
feat: throw clear error if DF jit-exec is not supported
...
was previously getting an undefined symbol error as the runtime lib
didn't support dataflow execution
2022-04-14 11:07:39 +01:00
youben11
af300055a7
fix(macos): update dependency after compiling dylib
...
when dellocate is used to include dependencies in python wheels, the
runtime library will have an id that is prefixed with /DLC, and that path
doesn't exist. So when generated libraries won't be able to find it
during load time. To solve this, we change the dep in the generated
library to be relative to the rpath which should be set correctly during
linking. This shouldn't have an impact when /DLC/concrete/.dylibs/* isn't
a dependecy in the first place (when not using python).
also set rpath when linking to RT lib
2022-04-12 13:56:18 +01:00
youben11
fafaa4c870
fix(macos): ignore undefined symbols for JIT compilation
2022-04-06 08:43:44 +01:00
youben11
2ded4b6f43
fix: set rpath when linking using extra args
2022-04-06 08:43:44 +01:00
youben11
01f6a334ff
chore: remove macos workaround for linking runtimelib
2022-04-04 11:52:23 +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
b76839b8c9
fix(cmake): fix cmake dependencies
2022-03-30 17:20:20 +02:00
Mayeul@Zama
9ccced7d93
fix(cmake): unify tablegen headers generation dependencies
2022-03-30 17:20:20 +02: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
Quentin Bourgerie
254b4dc530
enhance(compiler): Enable deallocation pass to free temporary buffers
2022-03-28 09:41:54 +02:00
Quentin Bourgerie
fc51b1d2ab
fix(compiler): Activate the loop parallelism in ConcreteToBConcrete when the option is set
2022-03-28 09:41:27 +02: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
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
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
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
e72101f5c7
fix(compiler): Delete target machine when no more in use (prevent leak in compilation)
2022-03-24 11:00:36 +01:00
Quentin Bourgerie
6aaaeb8d3f
enhance(compiler): Update v0 parameters table, that enable 8 bits
2022-03-22 12:38:58 +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
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