Bourgerie Quentin
c438fb21d0
fix(compiler/benchamrk): Fix command line for compilation options of e2e tools
2024-01-09 12:40:31 +01:00
rudy
8183d98605
feat(frontend-python): multi-parameters, Configuration, by-precision-and-norm2 strategy
nightly-2024.01.09
2024-01-08 20:32:27 +01:00
rudy
cb0679fc03
fix(optimizer): multi-parameters, tolerate overspecified partition_cut
2024-01-08 20:32:27 +01:00
rudy
c298408f26
feat(optimizer): multi-parameters, partitionning using norm2
2024-01-08 20:32:27 +01:00
rudy
b2f382f63a
feat(optimizer): multi-parameters, do not bottleneck on the default partition
2024-01-08 20:32:27 +01:00
Jeremy Kun
bee264a1bb
docs(compiler): fix readme
2024-01-08 17:08:05 +01:00
Bourgerie Quentin
da3a3b7c07
fix(compiler/benchmark): Use default compiler options for default command line tools
2024-01-08 14:45:54 +01:00
Bourgerie Quentin
f9c7a79183
refactor(compiler/frontend): Rename option to compress_evaluation_keys
2024-01-08 09:49:06 +01:00
rudy
9b685300b4
fix(frontend-python): ensure shift strategies coverage
2024-01-08 09:38:08 +01:00
rudy
b680f3137d
fix(frontend-python): some tests are broken due to compiler and cp bug
...
related to multi output in multi parameter
2024-01-08 09:36:34 +01:00
rudy
0f819d864c
fix(optimizer): accept composable for v0-no-dag and woppbs
2024-01-08 09:30:20 +01:00
Benoit Chevallier-Mames
c952d7b1f7
chore(frontend): using fhe.bits() feature in Game of Life example
2024-01-08 09:14:17 +01:00
Antoniu Pop
69efcee01b
test(compiler): make benchmarks framework compatible with distributed execution.
nightly-2024.01.06
2024-01-05 19:03:56 +00:00
Antoniu Pop
541a9fb2eb
fix(compiler): distributed execution: fix dataflow runtime termination.
2024-01-05 19:03:56 +00:00
Antoniu Pop
b91cef6362
test(compiler): fix command line options for parallelization in end-to-end tests and benchmarks.
2024-01-05 19:03:56 +00:00
Antoniu Pop
96f2b4538e
fix(compiler): dataflow: fix generation of the dataflow graph.
2024-01-05 19:03:56 +00:00
Antoniu Pop
196a3ae4af
fix(compiler): distributed execution: fix key transfer to remote nodes.
2024-01-05 19:03:56 +00:00
Antoniu Pop
6eed9a8e9e
fix(ci): restrict run of CP GPU tests to push on main only due to length.
2024-01-05 13:15:12 +00:00
Antoniu Pop
822316b3d2
feat(compiler): add mixed scheduling of SDFG graphs on CPU and GPU.
2024-01-05 13:15:12 +00:00
Antoniu Pop
5d3fb6b98d
fix(compiler): disable loop parallelization for loops containing SDFG put/get operations.
2024-01-05 13:15:12 +00:00
Antoniu Pop
acf5780ee3
fix(compiler): handle splice streams (streams originating on device, used both on device and on host) in SDFG for GPU scheduling.
2024-01-05 13:15:12 +00:00
Andi Drebes
6b5baca515
fix(compiler): Batching: Fix hoisting of indexed ops with mixed offsets
...
For `ExtractSliceOp` and `InsertSliceOp`, the code performing the
hoisting of indexed operations in the batching pass derives the
indexes of the hoisted operation from the indexes provided by
`ExtractSliceOp::getOffsets()` and
`InsertSliceOp::getOffsets()`. However, these methods only return
dynamic indexes, such that operations with mixed, dynamic and static
offsets are hoisted incorrectly.
This patch replaces the invocations of `ExtractSliceOp::getOffsets()`
and `InsertSliceOp::getOffsets()` with invocations of
`ExtractSliceOp::getMixedOffsets()` and
`InsertSliceOp::getMixedOffsets()`, respectively in order to take into
account both static and dynamic indexes.
2024-01-05 13:15:12 +00:00
Andi Drebes
c24d9c9553
fix(compiler): Batching: Do not generate tensor.collapse_shape operations reproducing the same shape
...
The IR generated by the batching pattern introduces intermediate
tensor values omitting the batched dimensions for batched
operands. This happens uncondiationally, leading to the generation of
`tensor.collapse_shape` operations with the same output and inout
shape. However, verification for such operation fails, since the
verifier assumes that the rank of the resulting tensor is reduced at
least by one.
This commit modified the check in `flattenTensor`, such that no
flattening operation is generated if the input and output shapes would
be identical.
2024-01-05 13:15:12 +00:00
Andi Drebes
51f10e38b3
fix(compiler): Batching: Ensure identical order of indexing IVs in cleanup pattern
...
Currently, the cleanup pattern matches sequences of `tensor.extract` /
`tensor.extract_slice`, `tensor.insert` / `tensor.insert_slice` and
`scf.yield` operations that are embedded into perfect loop nests whose
IVs are referenced in quasi-affine expressions with constant
steps. The pattern ensures that the extraction and insertion operation
use the same IVs for indexing, but does not check whether they appear
in the same order.
However, the order in which IVs are used for indexing is crucial when
replacing the operations with `tensor.extract_slice` and
`tensor.insert_slice` operations in order to preserve the shape of the
slices and the order of elements.
For example, when the cleanup pattern is applied to the following IR:
```
%c0 = arith.constant 0 : index
%c1 = arith.constant 1 : index
%c2 = arith.constant 2 : index
%c3 = arith.constant 3 : index
scf.for %i = %c0 to %c3 step %c1 ... {
scf.for %j = %c0 to %c2 step %c1 ... {
%v = tensor.extract ... [%i, %j]
%t = tensor.insert ... [%j, %i]
scf.yield %t
}
...
}
```
The extracted slice has a shape of 3x2, while the insertion should be
happening with a slice with the shape 2x3.
This commit adds an additional check to the cleanup pattern that
ensures that loop IVs are used for indexing in the same order and
appear the same number of times.
2024-01-05 13:15:12 +00:00
Andi Drebes
dbcfa92bd3
refactor(compiler): Batching: Do not shift / scale already normalized indexes
...
Normalization of indexes in the batching pass currently
unconditionally emits arithmetic operations to shift and scale indexes
regardless of whether these indexes are already normalized. This leads
to unnecessary subtractions with 0 and divisions by 1.
This commit introduces two additional checks to the code normalizing
indexes that prevent arithmetic operations to be emitted for indexes
that do not need to be shifted or scaled.
2024-01-05 13:15:12 +00:00
Bourgerie Quentin
1dec886770
feat(compiler/frontend-python): Expose default GPU CompilerOptions set and use it in concrete-python
2024-01-05 13:15:12 +00:00
aPere3
6691c8f107
feat(frontend): add support for gpu in concrete-python
2024-01-05 13:15:12 +00:00
Bourgerie Quentin
15835719b9
fix(compiler/optimizer): Returns error for optimization strategy that doesn't support composition
v2.5.0-rc4
nightly-2024.01.05
2024-01-04 15:00:25 +01:00
Bourgerie Quentin
398af2783d
test(compiler): Add disabled test on composition (to fix later)
2024-01-04 15:00:25 +01:00
Bourgerie Quentin
f3ec1976ef
fix(compiler/optimizer): Returns NotComposable error if not lookup table in dag
2024-01-04 15:00:25 +01:00
Alexandre Péré
60da713312
feat(optimizer): adds support for function composition
2024-01-04 15:00:25 +01:00
Arthur Meyre
2d3dc73ab8
chore(backend): fix nightly feature which was not forwarded to TFHE-rs
...
- this will allow to have AVX512 on x86 machines which have the hardware
feature available if concrete-cpu is built with a rust nightly toolchain
and the nightly feature enabled
2024-01-04 14:38:06 +01:00
rudy
42c7ee977e
feat(frontend-python): activate local env using make
nightly-2024.01.04
2024-01-03 18:46:53 +01:00
Bourgerie Quentin
f58c0396e5
chore(compiler): Remove automatic compiler gpu benchmark on merge
nightly-2024.01.03
2024-01-02 19:23:38 +01:00
Bourgerie Quentin
c339e2a10b
chore(backend/frontend): Fixing formatting...
2024-01-02 19:23:38 +01:00
Bourgerie Quentin
06509bb5d7
chore(ci): Fix file changed
2024-01-02 19:23:38 +01:00
Bourgerie Quentin
9a8b644a70
chore(frontend-python): Regenerate keyset on error
2024-01-02 18:18:30 +01:00
Bourgerie Quentin
afb9420dbb
fix(backend/cpu): Fix the size of the expanded lut in woppbs case of poly size > lut size
2024-01-02 18:18:30 +01:00
dependabot[bot]
8879c4b376
chore(ci): bump tj-actions/changed-files from 32 to 41
...
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files ) from 32 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases )
- [Commits](https://github.com/tj-actions/changed-files/compare/v32...v41 )
---
updated-dependencies:
- dependency-name: tj-actions/changed-files
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-02 14:27:10 +01:00
dependabot[bot]
0c4b9b0731
chore(ci): bump dawidd6/action-download-artifact from 2 to 3
...
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2 to 3.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-02 14:22:42 +01:00
dependabot[bot]
911cac23fe
chore(ci): bump actions/upload-artifact from 3 to 4
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-02 14:21:36 +01:00
dependabot[bot]
f03226c6b6
chore(ci): bump actions/download-artifact from 3 to 4
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-02 14:08:12 +01:00
dependabot[bot]
3efd421b25
chore(ci): bump actions/setup-python from 4 to 5
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-01-02 13:56:11 +01:00
dependabot[bot]
22dc7080ea
chore(backend): deps, bump rustix in /backends/concrete-cpu/implementation
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.37.21 to 0.37.27.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.37.21...v0.37.27 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
v2.5.0-rc3
nightly-2024.01.02
nightly-2023.12.30
2023-12-29 12:08:13 +01:00
dependabot[bot]
c1bd672509
chore(backend): bump rustix in /backends/concrete-cpu/noise-model
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.37.21 to 0.37.27.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.37.21...v0.37.27 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-12-29 11:46:53 +01:00
dependabot[bot]
1d0800012a
chore(compiler): deps, bump rustix in /compilers/concrete-optimizer
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.37.21 to 0.37.27.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.37.21...v0.37.27 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-12-29 11:39:52 +01:00
Umut
7872bc5430
fix(frontend-python): generate correct MLIR for signed integer rounding to 1-bit
2023-12-29 12:42:29 +03:00
Umut
ee5be3af43
feat(frontend-python): keys are generated property
2023-12-29 10:19:06 +03:00
Umut
1edd341fb0
feat(frontend-python): printing assignment
2023-12-29 10:19:06 +03:00
Umut
b8db12ae53
feat(frontend-python): bit extraction
nightly-2023.12.28
nightly-2023.12.27
nightly-2023.12.29
2023-12-26 14:31:23 +03:00