Quentin Bourgerie
2cc72dd721
test(compiler): Fix end to end test we loss the 7 bits
2021-09-27 13:37:11 +02:00
Quentin Bourgerie
7454c30485
fix(compiler/parameters): Update parameters
2021-09-27 13:37:11 +02:00
Quentin Bourgerie
d9be22c1b1
fix(compiler/runtime): decode with integers
2021-09-27 13:37:11 +02:00
youben11
3feab09c88
test(LUT): random function
2021-09-27 13:37:11 +02:00
Quentin Bourgerie
3a254bcb87
fix(compiler): Integrate the security estimator to compute variances
2021-09-20 13:46:08 +02:00
youben11
967fda07a0
feat(execution): run on both int and tensor args
2021-09-10 10:00:04 +01:00
Quentin Bourgerie
c37ac41c1a
test(compiler): LowLFHEUnpametrize
2021-09-09 20:57:18 +02:00
Quentin Bourgerie
8cc0af1220
fix(compiler): Add a pass to unparametrize LowLFHE ciphertext to remove unrelized_convesrion_cast for linalg bufferization
2021-09-09 20:35:28 +02:00
youben11
d0e71dd4f1
fix: use IndexType for size of LWE allocation
2021-09-09 20:35:28 +02:00
youben11
746d991af6
refactor: ins forward decl w generic ty @pass-init
...
Insert forward declarations with generic types at pass initialization.
More docs for all the pass for lowering LUT
2021-09-09 20:35:28 +02:00
youben11
d97512f507
tests: remove RunJit tests
...
It's better to have execution tests as unittest (that we have now),
better control of the execution than just MLIR.
2021-09-09 20:35:28 +02:00
youben11
3893ad39bb
fix: divide and round to decode decrypted ct
...
Doing a right shift will ommit the bits that can be used to round to the
nearest integer
2021-09-09 20:35:28 +02:00
youben11
272a725e9a
feat(lower_LUT): add precision attribute to encode LUT at runtime
2021-09-09 20:35:28 +02:00
youben11
c4dd639ea7
tests(LUT): use relative error
2021-09-09 20:35:28 +02:00
youben11
1e07733257
fix(lower-LUT): keep output size of KS during lowering
...
output size of keyswiting wasn't set properly. As this information must
come from the selected parameters, it should goes down from the MidLFHE
to the appropriate call to ciphertext allocation
2021-09-09 20:35:28 +02:00
youben11
cae9af36b0
fix: print ksLogBase correctly
2021-09-09 20:35:28 +02:00
youben11
c3d6bea247
fix: jit arguments must be uint64
2021-09-09 20:35:28 +02:00
youben11
855dabc91e
tests: apply_univ complete lowering and execution
2021-09-09 20:35:28 +02:00
youben11
5f16cfabbf
fix(Runtime): link missing libraries
...
We currently use LD_PRELOAD with the python extension to make the JIT
execution find the appropriate symbols, however, not linking with some
libraries caused other tools such as make to complain of not finding
symbols from libpthread and others
2021-09-09 20:35:28 +02:00
youben11
32d67726e2
feat(LowToCAPI): replace key alloc w getters from RT
2021-09-09 20:35:28 +02:00
youben11
c6b1480cc6
feat: generate runtime context at Argument creation
2021-09-09 20:35:28 +02:00
youben11
d1332dfd9a
fix(compiler): polynomialSize from logPolynomialSize
...
The polynomialSize is currently holding its log2 instead of the actual
value. This should be fixed later, but in the meantime, we need to
compute it from log2
2021-09-09 20:35:28 +02:00
youben11
50d2ff82af
chore(compiler): disable bitwidth check for table lookup
2021-09-09 20:35:28 +02:00
youben11
8aee5dd5c3
chore(runtime): link concrete statically with runtime lib
2021-09-09 20:35:28 +02:00
youben11
de81ac3f3e
feat: Runtime library
2021-09-09 20:35:28 +02:00
youben11
ea3c940f4a
feat: lower LowLFHE types (apply_lut) to llvm.ptr
2021-09-09 20:35:28 +02:00
youben11
6e2ac3af4e
feat: parameterize KS operation
2021-09-09 20:35:28 +02:00
youben11
14f171bef9
feat: parameterize bst operation
...
This is needed to have the right parameters when calling concrete
2021-09-09 20:35:28 +02:00
youben11
2b0cfce1f6
feat(compiler): LowToCAPI of apply_lut
2021-09-09 20:35:28 +02:00
youben11
3b5ae0657d
feat: MidToLowLFHE lowering of apply_lut
2021-09-09 20:35:28 +02:00
youben11
b6c3eceadd
refactor: remove keys from BS and KS ops in LowLFHE
2021-09-09 20:35:28 +02:00
Quentin Bourgerie
d2a3214bba
clean(compiler): Return nullptr when conversion fails (should not happens but more safe in release mode) and remove dead code
2021-09-08 11:44:51 +02:00
Quentin Bourgerie
d03adbd7dc
enhance(compiler): Add options for verbose passes
2021-09-08 11:44:51 +02:00
Quentin Bourgerie
1077c9167c
enhance(compiler): Full lowering of hlfhe.zero, make dot_eint_int fully lowerable
2021-09-08 11:44:51 +02:00
Quentin Bourgerie
de7129fe8e
feat(compiler/llvm-pipeline): Bufferize linalg and convert to loops
2021-09-08 11:44:51 +02:00
Quentin Bourgerie
a654fb2d0e
enhance(compiler/midlfhe): Handle linalg.generic in parametrization pass
2021-09-08 11:44:51 +02:00
Quentin Bourgerie
15fd194075
fix(compiler): Since the patterns could be call in any order take care of already lowered types in mid to low conversion
2021-09-08 11:44:51 +02:00
Quentin Bourgerie
697d4033e1
fix(compiler): typo
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
bfa4eece9d
chore(compiler): Add build target for e2e test
2021-09-06 10:26:40 +02:00
youben11
c3db68298e
fix: checking wrong state of the error
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
9ccc03b02f
fix(compiler/python): Fix api break
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
be7301387c
chore: add then end-to-end-jit test to the make test target
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
88d896cb64
refactor: Rename unittests
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
19f1a22b6a
fix(compiler/midlfhe): Manage tensor in midlfhe parametrization
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
af0789f128
enhance(compiler/runtime): Add runtime tools to handle tensor inputs and outputs
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
dba76a1e1b
enhance(compiler): Add tensor ops type rewriting on high level pipepline
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
ce776c0eba
fix(compiler/lowlfhe): lwe_ciphertext as memref element type
2021-09-06 10:26:40 +02:00
youben11
7850b359f3
chore(compiler): skeleton of unittest with gtest
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
6ac882fc65
fix(compiler/capi): Remove the memref for error and no more bare pointer call convention
2021-09-06 10:26:40 +02:00
Quentin Bourgerie
bc975d904e
feat(compiler): introduce bufferization passes in lowering pipeline to llvm
2021-09-06 10:26:40 +02:00