v2.6.0
Summary
Concrete v2.6 introduces support of faster operators (approximate rounding, ternary operator, relu and sign), compression features, extended support of function composition, and as well bug fixes.
What's Changed
New features
- feat(frontend-python): Introduces fhe.identity and fix scalar squeeze by @umut-sahin in #696
- feat(frontend-python): Additional Pre and Post Processors by @umut-sahin in #721, #727
- feat(frontend-python): approximate for round_bit_pattern by @rudy-6-4 in #710
- feat(compiler): support multi-circuit compilation by @aPere3 in #705
- feat(frontend-python): Beta version of multi circuits by @aPere3 in #724
- feat(frontend-python): random inputset generator by @umut-sahin in #730
Improvements
- refactor(compiler): Re-implement multi-parameter parametrization pass using type inference, can fix segfault or accuracy issue in dag-multi optimization by @andidr in #674, #702
- feat(compiler): Fuse table lookups to optimize dag with sequences of TLUs by @umut-sahin in #709, #749
- feat(compiler): Upgrade HPX library version to 1.9.1. by @antoniupop in #718, #719
- feat(compiler): Distributed execution, on-demand key transfer to remote notes by @antoniupop in #720
- feat(compiler): Parallel decompression of evaluation keys by @BourgerieQuentin in #736
- fix(compiler): Speedup simulation by not reinstantiate csprng each time in the simulation by @BourgerieQuentin in #744
- feat(frontend): Optimize TLU based on bounds instead of bitwidth by @umut-sahin in #733
- feat(compiler): Remove p+1 requirement for clear values for tighter optimization by @umut-sahin in #752, #761
- docs(frontend): Add a tutorial about XOR distance by @bcm-at-zama in #714
- docs(frontend): Improve documentation by @bcm-at-zama, @yuxizama, @RafLaf in #723, #725, #735, #738, #728, #747, #742, #763, #700, #746
Fixes
- fix(compiler): fix mac arm exception propagation by @aPere3 in #697
- fix(compiler): fix double free on aliased outputs by @aPere3 in #711
- fix(compiler): Guard decompression of seeded keys by @rudy-6-4 in #691
- fix(compiler): Do not omit assignment of optimizer ID to FHE.reinterpret_precision by @andidr in #729
- fix(compiler): Preserve explicit optimizer partition frontiers for TFHE circuit parametrization by @andidr in
- fix(compiler): Handle tensor.empty in the pass that lower tfhe to the simulation code by @BourgerieQuentin in #760
- fix(frontend-python): Keep negative values inside tlus as is. by @umut-sahin in #765
- fix(frontend-python): round_bit_pattern, prevent exactness argument misuse by @rudy-6-4 in #759
Other changes
- chore(ci): Fixing and improving CI by @umut-sahin, @BourgerieQuentin, @rudy-6-4 in #698, #706, #713, #712, #715, #739, #716, #717, #743, #754
- chore(frontend-python): converter, getattr call with default by @rudy-6-4 in #688
- feat(optimizer): accept high precision weight by @rudy-6-4 in #687
- fix(frontend-python): failure to display invalid input set value by @rudy-6-4 in #682
- chore(frontend-python): Improve bitwise tests coverage by @rudy-6-4 in #680
- feat(compiler): Add support for tiling of linalg.generic operations by @andidr in #609
- chore(ci): Distributed CI by @antoniupop in #740
- chore(ci): bump tj-actions/changed-files from 41 to 43 by @dependabot in #751
Full Changelog: v2.5.1...v2.6.0-rc2