Umut
a98feed824
fix(frontend-python): keep negative values inside tlus as is instead of converting them to unsigned
nightly-2024.04.02
nightly-2024.03.30
2024-03-29 14:03:18 +03:00
Umut
29e131a6ef
fix(frontend-python): always increase the clear bit width by one to avoid sign extension issues
nightly-2024.03.29
nightly-2024.03.27
v2.6.0-rc1
nightly-2024.03.28
2024-03-26 17:20:31 +03:00
Bourgerie Quentin
406804609c
fix(compiler): Handle tensor.empty in the pass that lower tfhe to the simulatation code
nightly-2024.03.26
2024-03-25 15:32:27 +01:00
Umut
79b72dbe4a
feat(frontend-python): relax bit-width assignment of clear values
nightly-2024.03.23
nightly-2024.03.22
2024-03-21 13:17:14 +03:00
Umut
2471b374a2
test(frontend-python): make sure tlu fusing is enabled by default
2024-03-21 13:17:14 +03:00
Umut
790d6ffa94
feat(compiler): remove p+1 requirement for clear values
2024-03-21 13:17:14 +03:00
Alexandre Péré
170002ff20
feat(frontend-python): add support for multi-circuits
nightly-2024.03.20
nightly-2024.03.21
2024-03-19 14:13:18 +01:00
Bourgerie Quentin
8132a8a14b
fix(ci): Download all artifacts to the wheels directory
2024-03-19 11:28:06 +01:00
dependabot[bot]
983631f6de
chore(ci): bump tj-actions/changed-files from 41 to 43
...
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files ) from 41 to 43.
- [Release notes](https://github.com/tj-actions/changed-files/releases )
- [Commits](https://github.com/tj-actions/changed-files/compare/v41...v43 )
---
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-03-19 09:41:21 +01:00
Umut
d13b283f98
feat(frontend-python): disable and print tlu fusing
2024-03-19 09:39:06 +01:00
Raphaël Lafargue
84382fa771
Docker and Pip were reversed; fixed
2024-03-19 09:13:22 +01:00
Antoniu Pop
312f505063
feat(ci): add distributed CI test run target
nightly-2024.03.19
2024-03-18 13:39:03 +00:00
David Testé
c52893f465
chore(ci): add distributed cpu build and tests workflow
2024-03-18 13:39:03 +00:00
Yuxi Zhao
7f506c0c45
docs(frontend): fix designs
2024-03-18 10:50:58 +00:00
Umut
7eefc6c053
feat(frontend-python): tlu on original bit width
nightly-2024.03.16
2024-03-15 12:39:57 +03:00
Bourgerie Quentin
9ce4ffa9aa
fix(ci): Separate build and test release
2024-03-15 09:39:38 +01:00
Andi Drebes
97292ed85f
test(compiler): Add tests for type inference on IR with scf.forall operations
nightly-2024.03.15
2024-03-14 06:45:53 +01:00
Andi Drebes
d79c76a872
feat(compiler): Add support for tiling of linalg.generic operations
...
This adds support for the tiling of `linalg.generic` operations that
have only parallel iterators or only parallel iterators and a single
reduction dimension via the linalg tiling infrastructure (i.e.,
`mlir::linalg::tileToForallOpUsingTileSizes()` and
`mlir::linalg::tileReductionUsingForall()`).
This allows for the tiling of FHELinalg operations by first replacing
them with appropriate `linalg.generic` oeprations and then invoking
the tiling pass in the pipeline. In order for the tiling to take
place, tile sizes must be specified using the `tile-sizes` operation
attribute, either directly for `linalg.generic` operations or
indirectly for the FHELinalg operation, e.g.,
"FHELinalg.matmul_eint_int"(%a, %b) { "tile-sizes" = [0, 0, 7] } : ...
Tiling of operations with a reduction dimension is currently limited
to tiling of the reduction dimension, i.e., the tile sizes for the
parallel dimensions must be zero.
2024-03-14 06:45:53 +01:00
Andi Drebes
55a6041943
feat(compiler): Add support for tiled TFHE IR in TFHE parametrization pass
...
Add the required patterns for `tensor.empty` and `scf.forall` to the
TFHE circuit parametrization pass.
2024-03-14 06:32:19 +01:00
Andi Drebes
082cddb133
chore(compiler): Bump MLIR fork to commit including RegionBranchOpInterface for scf.forall
2024-03-14 06:32:19 +01:00
Andi Drebes
55d54a9c7f
feat(compiler): Add pass replacing linalg.fill with linalg.generic
2024-03-14 06:32:19 +01:00
Andi Drebes
f89947a580
feat(compiler): Add support for scf.forall and associated ops in TFHE key normalization pass
2024-03-14 06:32:19 +01:00
Andi Drebes
d10c1ca576
feat(compiler): Add support for scf.forall and associated ops in FHE to TFHE passes
2024-03-14 06:32:19 +01:00
Andi Drebes
2cd06580ee
feat(compiler): Add support for scf.forall and associated ops in TFHE parametrization
2024-03-14 06:32:19 +01:00
Andi Drebes
63e53ff200
feat(compiler): Add support for scf.forall and associated ops in TFHE to Concrete pass
2024-03-14 06:32:19 +01:00
Andi Drebes
64eaeb068e
feat(compiler): Add reinstantiating rewrite patterns for scf.forall and scf.forall.in_parallel
2024-03-14 06:32:19 +01:00
Andi Drebes
ff20f88c44
feat(compiler): Run SCFForallToSCFFor pass before lowering to LLVM dialect
...
This adds an invocation of the `SCFForallToSCFFor` pass to the
compilation pipeline before lowering to the LLVM dialect as a
sequential fallback path to future passes exploiting the parallelism
of `scf.forall` further up in the pipeline.
2024-03-14 06:32:19 +01:00
Andi Drebes
5a7bf5aed2
feat(compiler): Add pass converting scf.forall loops to nested scf.for operations
...
This adds a new pass that converts `scf.forall` loops into nested
`scf.for` operations. The conversion carries parallel output tensors
from the original loop as dependencies through the loop nest and
replaces any occurrence of `tensor.parallel_insert_slice` operations
in the `scf.forall.in_parallel` terminator with equivalent
`tensor.insert_slice` operations.
2024-03-14 06:32:19 +01:00
Andi Drebes
7a295f89bd
feat(compiler): Make trip counts and memory usage optional in statistics passes
...
This makes the trip counts of operations in the TFHE statistics pass
as well as the per-location memory usage statistics in the memory
usage statistics pass optional. These values are unset if the trip
count could not be determined statically.
2024-03-14 06:32:19 +01:00
Andi Drebes
e6e5db6f51
refactor(compiler): Use common static loop analysis in TFHE / memory statistics
2024-03-14 06:32:19 +01:00
Andi Drebes
14f39fefe7
refactor(compiler): Separate code for static loop analysis from batching
2024-03-14 06:32:19 +01:00
Andi Drebes
13a5dff4fb
fix(ci): Disable levelled tests {signed_,}mul_eint_Xbits for X >= 10 on MacOS
...
The tests `end_to_end_leveled.jit.loop_dagmulti.mul_eint_10bits.0` and
`end_to_end_leveled.jit.loop_dagmulti.signed_mul_eint_10bits.0`
reproducibly fail on the mac2.metal instance used by the CI due to
insufficient memory. This change disables all instances of these tests
with 10 or more bits of precision on MacOS.
2024-03-14 06:32:19 +01:00
Benoit Chevallier-Mames
0ffbc13746
docs(compiler): fixing a bar char in the doc
nightly-2024.03.14
2024-03-13 18:35:29 +01:00
Benoit Chevallier-Mames
c2f47cb103
docs(compiler): update the doc
2024-03-13 17:10:30 +01:00
Benoit Chevallier-Mames
e37a840e7e
docs(compiler): adding API doc
2024-03-13 17:10:00 +01:00
Bourgerie Quentin
5370fb3cf9
fix(compiler): Do not reinstantiate csprng each time in the simulation backend
2024-03-13 16:28:52 +01:00
Bourgerie Quentin
9dcf1c4b6f
feat(frontend-python): Expose compress_input_ciphertexts as a compilation options and tests
nightly-2024.03.13
2024-03-12 17:58:40 +01:00
Bourgerie Quentin
3043573922
refactor(compiler/tests): Move bug and boolean to specific yaml files
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
e0a7aaa479
test(compiler): Run all tests only on default options and run random tests on several options to tests
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
1804081064
refactor(compiler): Refactor options naming of the end-to-end-test tool
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
d3cb43b517
fix(compiler): Put dag-multi as default optimizer strategy
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
721858346a
refactor(compiler): Just reorder options for better readability
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
2ac4f52ca5
feat(compiler/tests): Add random-tests options to end-to-end-test tool
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
6b4ce8889b
feat(compiler): Add input ciphertext compression with seeded ciphertext
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
2d2e6d0519
fix(backend-cpu): Fix concrete_cpu_encrypt_seeded_lwe_ciphertext_u64 as the memory was not written
2024-03-12 16:57:06 +01:00
Bourgerie Quentin
11f1935119
fix(ci): Update path of auto-generated dialect documentation
2024-03-12 16:43:13 +01:00
Benoit Chevallier-Mames
c7fe6c83d2
docs(frontend): be clearer on docker use and its current limit for Apple silicon
2024-03-12 16:33:09 +01:00
Yuxi Zhao
a0195cf315
docs(frontend): update new structure and landing page
nightly-2024.03.12
2024-03-11 18:55:50 +01:00
Bourgerie Quentin
ce74903c1d
fix(frontends): Fixing tests which rely on cmdline not on configuration
2024-03-11 16:51:05 +01:00
Bourgerie Quentin
0fdc7d78ff
perf(compiler): Use parallel implementation to decompress bs and ks keys
2024-03-11 16:51:05 +01:00