Andi Drebes
9cd238db82
refactor(compiler): Separate TFHE parametrization into its own pipeline stage
2023-03-24 11:06:51 +01:00
Andi Drebes
fdb4594a2b
feat(compiler): Add lowering path for batched TFHE operations to Concrete
2023-03-24 11:06:51 +01:00
Andi Drebes
b495f9dd5c
feat(compiler): Make TFHE.keyswitch_glwe and TFHE.bootstrap_glwe batchable
2023-03-24 11:06:51 +01:00
Andi Drebes
b24709a1ec
feat(compiler): Batching: Hoist non-batchable operands produced by pure ops
...
The batching pass only creates a batched version of a batchable
operation if all of its non-batchable operands are defined out ouf the
outermost loop the iterating over the values of the batchable operand.
This change also allows for operations to be batched if the
non-batachable operands are generated by operations, which are pure
and thus hoistable out of the outermost loop.
2023-03-24 11:06:51 +01:00
Andi Drebes
3309615d7b
fix(compiler): Batching: Bail out if batchable operand is not produced by an op
...
An early test for a batchable operation checks whether the batchable
operand is produced by a `tensor.extract` operation and bails out if
this is not the case. However, the use of `llvm::dyn_cast<T>()` directly
on the defining operation of the batchable operand causes an attempt
to cast a null value for an operand which is not produced by an
operation (e.g., block arguments).
Using `llvm::dyn_cast_or_null<T>()` fixes this issue.
2023-03-24 11:06:51 +01:00
Andi Drebes
a0e5628a88
refactor(compiler): Remove implementation of batching interface from all Concrete operations
2023-03-24 11:06:51 +01:00
Andi Drebes
dafb33414d
refactor(compiler): Mark TFHE operations as side-effect free
2023-03-24 11:06:51 +01:00
Quentin Bourgerie
67e2518df9
chore(compiler): Build rust libraries with target-feature
2023-03-23 15:54:30 +01:00
youben11
d891ba2181
ci(compiler): enable minimal tests on PR (macos)
2023-03-22 18:55:26 +01:00
youben11
9e79c4750d
test(compiler): disable exception tests on macos temporarily
2023-03-22 18:55:26 +01:00
youben11
568d0e2912
fix(compiler): use value in range of the i5 type
...
it's actually weird that the test was passing all this time, and only
failed since we tested on MacOS M1
2023-03-22 18:55:26 +01:00
youben11
2a81f2e333
chore(compiler): disable SDFG in SDFG tests for macos
2023-03-22 18:55:26 +01:00
youben11
529d96f564
fix(compiler): update mlir-c usage in rust bindings
2023-03-22 18:55:26 +01:00
tmontaigu
2cdf166b96
feat(rust): change build.rs to work on arm64 targets
2023-03-22 18:55:26 +01:00
youben11
afaaf70287
ci(compiler): run tests on M1
2023-03-22 18:55:26 +01:00
Mayeul@Zama
b1bd00c4e4
chore(CI): run compiler tests on backends c-api change
2023-03-22 17:29:51 +01:00
rudy
806d50ab7f
fix|compiler: incorrect optimizer display for complexity
2023-03-22 17:16:40 +01:00
Agnes Leroy
573f4756fd
fix(concrete_cuda): fix buffer size type in the scratches, int is not big enough
2023-03-22 15:55:15 +01:00
rudy
6556bee101
fix|compiler: MANP extract for v0 strategy is incorrect
2023-03-22 14:27:30 +01:00
Quentin Bourgerie
0921918c51
chore: Move lattice-estimator to third_party
2023-03-22 14:22:11 +01:00
Quentin Bourgerie
128734a682
chore: Final layout of the concrete project
2023-03-22 14:22:11 +01:00
Quentin Bourgerie
a1a955f5e2
chore(concrete-optimizer): Use the local concrete-cpu noise-model
2023-03-22 14:22:11 +01:00
Quentin Bourgerie
8349d7824e
chore(concrete-cpu): Move concrete-cpu implementation
2023-03-22 14:22:11 +01:00
Quentin Bourgerie
c4bcaafd57
chore(parameter-curves): Fix linelint
2023-03-21 16:38:30 +01:00
Umut
850f98ab95
chore: remove concrete-python-tests-macos action
2023-03-21 16:26:19 +01:00
Umut
9570868210
chore: finalize concrete-python-tests-linux action
2023-03-21 16:26:19 +01:00
Samuel Tap
0210bc28c3
new crt basis
...
Co-authored-by: Jad Khatib <jadkhatib6@gmail.com >
2023-03-21 16:13:48 +01:00
Quentin Bourgerie
58ce784b9d
chore(parameter-curves): Integrate parameter-curves in mono-repo
2023-03-21 16:06:53 +01:00
Quentin Bourgerie
8b56607066
chore(parameter-curves): Move to the mono-repo layout
2023-03-21 16:04:20 +01:00
Quentin Bourgerie
803c302e69
chore: Integrate concrete-cpu/noise-model to the mono repo
2023-03-21 15:08:43 +01:00
Quentin Bourgerie
b18148788d
chore(concrete-cpu): Remove security curves from the concrete-cpu noise-model
2023-03-21 15:05:28 +01:00
Quentin Bourgerie
b7ba9c38e8
chore(): Move concrete-cpu noise model to the mono repo layout
2023-03-21 15:00:17 +01:00
Mayeul@Zama
0936cfccd2
chore(cpu): remove GgswLevelRow container
2023-03-21 14:37:08 +01:00
Mayeul@Zama
4ae3be5c4f
chore(cpu): separate LevCt
2023-03-21 14:37:08 +01:00
Mayeul@Zama
8744e4f264
chore(cpu): remove GlweMask container
2023-03-21 14:37:08 +01:00
Mayeul@Zama
ec1e06b367
chore(cpu): introduce Polynomial container
2023-03-21 14:37:08 +01:00
Mayeul@Zama
78e2a6e1b3
chore(cpu): separate GlevCt
2023-03-21 14:37:08 +01:00
aPere3
a2b143f409
feat(concrete-compiler): add support for key type parameters and attributes
2023-03-21 13:13:25 +01:00
aPere3
5c1a15c514
chore(concrete-compiler): removes unnecessary precision parameter in bootstrap signature
2023-03-21 13:13:25 +01:00
Mayeul@Zama
d2bfa03104
chore(CI): use nightly rust
2023-03-21 13:12:06 +01:00
Mayeul@Zama
55c6dbd315
fix(cpu): fix avx512
2023-03-21 13:12:06 +01:00
Quentin Bourgerie
5b6eada770
fix(concrete-cpu/m1): Use absolute path for zig test
2023-03-21 13:11:07 +01:00
youben11
6bb6d271fa
ci: run workflows on change
2023-03-21 12:28:42 +01:00
Umut
ef8f8882ad
chore: create blank concrete-python-tests workflows
2023-03-21 11:00:09 +01:00
Umut
9f15d39209
chore: set key cache directory from the environment for make pytest command
2023-03-21 11:00:09 +01:00
Mayeul@Zama
833dc1fa54
feat(compiler): use hardware aes for csprng
2023-03-21 10:51:51 +01:00
Mayeul@Zama
f393d255a2
feat(cpu): expose hardware aes for csprng
2023-03-21 10:51:51 +01:00
rudy
46755e613c
feat(optimizer): expose multi parameter entry point
...
implementation is limited to solo parameter
2023-03-21 10:30:46 +01:00
Quentin Bourgerie
c2275ddd4d
fix(ci): Disable doc build and compiler python-package
2023-03-21 07:21:56 +01:00
Quentin Bourgerie
f55c448a5f
Revert "chore: add concrete python tests to ci"
...
This reverts commit ceefcc5853 .
2023-03-21 07:21:56 +01:00