Commit Graph

2712 Commits

Author SHA1 Message Date
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
youben11
3e722a9d8b ci: enable minimal tests on PRs 2023-03-21 07:21:56 +01:00
youben11
23bfb7f00a tests: add option to minimize tests
also removes 80 bits of security tests
2023-03-21 07:21:56 +01:00
youben11
a2b260dcd1 Revert "chore: llvm bump and rebase."
This reverts commit 0c77e3092716110a7b4ecf1a4152eb9f7c3b283c.
2023-03-21 07:21:56 +01:00