Andi Drebes
9e24eccc9d
enhance(compiler): Add operators == and != for Integer / Tensor Lambda Arguments
2022-10-04 14:40:40 +02:00
Andi Drebes
8255d3e190
fix(compiler): Add support for clear result tensors with element width != 64 bits
...
Returning tensors with elements whose width is not equal to 64 results
in garbled data. This commit extends the `TensorData` class used to
represent tensors in JIT compilation with support for signed /
unsigned elements of 8/16/32 and 64 bits, such that all clear text
tensors with up to 64 bits can be represented accurately.
2022-10-04 14:40:40 +02:00
Mayeul@Zama
f1833f06f2
feat(compiler): clarify input encryption noise variance
2022-10-03 14:00:16 +02:00
rudy
cb2c9ef6bf
feat: accept no evaluation keys
2022-09-26 14:43:25 +02:00
Antoniu Pop
4fbb05e18c
feat(compiler): add an asynchronous interface for bootstrap and keyswitch using std::promise/future.
2022-09-19 13:02:20 +01:00
Antoniu Pop
2cf80e76eb
feat(compiler): move the lowering of dataflow tasks to RT dialect before bufferization.
2022-09-15 11:55:37 +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
Umut
41c9f86803
feat: create encrypted signed integer type
2022-09-09 17:38:21 +03:00
youben11
661d33c2b6
feat: keep std bsk and conv to fourier when needed
2022-09-06 07:18:34 +01:00
Quentin Bourgerie
b0743a9924
Revert "fix(optimizer): Temporary fallback to the v0 strategy while the dag one is not fixed"
...
This reverts commit 98a799f807 .
2022-09-01 14:13:38 +02:00
Quentin Bourgerie
98a799f807
fix(optimizer): Temporary fallback to the v0 strategy while the dag one is not fixed
2022-09-01 10:37:00 +02:00
Mayeul@Zama
eb4b0753dc
enhance(runtime): Move to the official concrete-core-ffi release 0.2.0-rc2
...
Co-authored-by: Mayeul@Zama <mayeul.debellabre@zama.ai >
Co-authored-by: Quentin Bourgerie <bourgerie.quentin@gmail.com >
2022-08-30 18:08:47 +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
5492ed01eb
feat: plug the compiler pipeline with the optimizer for 16 bits eint
2022-08-16 08:40:14 +02:00
rudy
f3933aeddc
feat(optimizer): connect to new entry point supporting woppbs
2022-08-16 08:40:14 +02:00
Quentin Bourgerie
8cd3a3a599
feat(compiler): First draft to support FHE.eint up to 16bits
...
For now what it works are only levelled ops with user parameters. (take a look to the tests)
Done:
- Add parameters to the fhe parameters to support CRT-based large integers
- Add command line options and tests options to allows the user to give those new parameters
- Update the dialects and pipeline to handle new fhe parameters for CRT-based large integers
- Update the client parameters and the client library to handle the CRT-based large integers
Todo:
- Plug the optimizer to compute the CRT-based large interger parameters
- Plug the pbs for the CRT-based large integer
2022-08-12 16:35:11 +02:00
rudy
cc6c2576ec
feat(optimizer): create optimizer dag and use it
2022-08-11 10:10:27 +02:00
Antoniu Pop
f9ce4d046b
fix(testing-dfr): fix startup and ternimation call parameters to allow sequential test execution on root node when the runtime is instantiated for distributed execution.
2022-08-04 17:06:09 +01:00
Antoniu Pop
9f1ac8a4e4
fix(dfr): add guard assert for not returning empty EvaluationKeys when on root node.
2022-08-04 17:06:09 +01:00
Antoniu Pop
20d19c2161
cleanup(dfr): remove unused key ids and unranked memref labels.
2022-08-04 17:06:09 +01:00
Antoniu Pop
6291a13cf8
feat(compiler): add NoSideEffect flags on FHE operations to enable DCE to remove operations that no longer have uses.
2022-08-04 17:06:09 +01:00
Antoniu Pop
ba60d74da0
feat(dfr): add timing measurements.
2022-08-04 17:06:09 +01:00
Antoniu Pop
dd2b2b9ce9
fix(dfr): deallocate receive buffers for evaluation keys on remote nodes.
2022-08-04 17:06:09 +01:00
Antoniu Pop
1bb3d04059
fix(dfr): broadcast evaluation keys early to avoid locking in HPX helper threads.
2022-08-04 17:06:09 +01:00
Antoniu Pop
fbca52f4a0
feat(dfr): add memory management for futures and associated data.
2022-08-04 17:06:09 +01:00
Antoniu Pop
49111dd295
fix(dfr): simplify runtime parametrization and fix implicit thread allocation policy.
2022-08-04 17:06:09 +01:00
Antoniu Pop
34b85304bc
license: fix master/main.
2022-08-04 17:06:09 +01:00
Antoniu Pop
7410502e60
fix(dfr): simplify synchronization in work function registry.
2022-08-04 17:06:09 +01:00
Antoniu Pop
19a25deb2a
fix(dfr): remove int conversion warnings.
2022-08-04 17:06:09 +01:00
Antoniu Pop
615109d432
fix(dfr): simplify initialization and add namespaces where possible.
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
Antoniu Pop
2cc8c69ff3
fix(compiler): make the insertForwardDeclaration utility function accept any OpBuilder for more generality.
2022-08-04 17:06:09 +01:00
youben11
e52ccfc1a9
feat: support grouped conv2d
2022-08-04 11:19:18 +01:00
youben11
63d84a3e4a
refactor: remove code related to our custom conv2D named op
...
it was introduced as a workaround while linalng couldn't support other
types than int/float
2022-08-04 11:19:18 +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
7f31cec990
refactor: prefix ops and types with dialect name
2022-07-18 14:08:09 +01:00
Umut
e24dbec249
feat: create FHELinalg.from_element operation
...
This commit is introduced because python bindings for `tensor.from_elements` are not generated automatically. Previously, we overcame this with string manipulation, but with the latest version of the compiler, it became a problem. This commit should be reverted eventually. See https://discourse.llvm.org/t/cannot-create-tensor-from-elements-operation-from-python-bindings/4768 for the discussion in LLVM forums.
2022-07-08 14:43:46 +03:00
youben11
f4166a4973
docs: use consistent style for comment blocks
...
prefix comment blocks with ///
2022-07-07 16:11:19 +01:00
Antoniu Pop
fb219f0fbf
feat(runtime): increase the limit of task input parameters to 16.
2022-06-28 17:11:12 +01:00
Umut
b3a2671dc7
feat: implement all kinds of subtractions
2022-06-28 11:13:03 +03: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
ef9d11c16f
cleanup(compiler): Remove dead code and usless pass
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
acbb5bf17a
cleanup(compiler): Remove custom print and parse TFHE types
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
9dd776533a
cleanup(compiler): Remove useless concrete types, simplify print and parse, and remove BConcreteToBConcreteCAPI pass
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