v2.5.0
New features
- Support for multiple outputs for circuits (
return x, y, z
) - Support for composition
- Truncation operator (documentation)
- Bit extraction operator (documentation)
- Min/Max operators (documentation)
Refactors
- TFHE-rs integration
- HPX integration
Bug fixes
- Memory usage of table generation is improved
Commit log
- Fix/compiler optimizer bad signed dot by @rudy-6-4 in #578
- fix(optimizer): multi-parameters, shorter_dump for the compiler --dis… by @rudy-6-4 in #579
- docs: adding a Game of Life example by @bcm-at-zama in #569
- fix(optimizer): multi-parameters, DEBUG, display reason for lower bound by @rudy-6-4 in #583
- feat(optimizer): multi-parameters, direct variance and cost operation… by @rudy-6-4 in #581
- woppbs simulation by @youben11 in #580
- refactor(frontend-python): reduce memory usage for table construction of non-multi table lookups by @umut-sahin in #584
- Docs: Statistics by @umut-sahin in #586
- fix(backend): fix boolean rounding in woppbs simulation by @youben11 in #589
- Support
linalg.generic
in the MANP analysis by @youben11 in #571 - feat(frontend-python): implement dumping/loading of auto rounders by @umut-sahin in #596
- docs(frontend): add FHE workarounds by @aquint-zama in #588
- Fix: Key Value Database Example by @umut-sahin in #599
- fix(frontend-python): convert rounding to tlu when necessary by @umut-sahin in #595
- chore(frontend-python): push docker images on releases by @umut-sahin in #597
- chore(ci): add markdown link check by @aquint-zama in #398
- chore(ci): markdown link check by @rudy-6-4 in #600
- chore(deps): bump actions/checkout from 2 to 4 by @dependabot in #559
- feat(frontend-python): create multivariate extension by @umut-sahin in #594
- feat(optimizer): multi-parameters, variance and cost value and coeffi… by @rudy-6-4 in #585
- fix(concrete-cpu): fix rust lint error by @aPere3 in #602
- fix(front-end-python): ci, duplicated shared lib by @rudy-6-4 in #604
- Integrates
concrete-protocol
in compiler and client/server lib by @aPere3 in #493 - test(frontend-python): add tests of assigning circuit.keys by @umut-sahin in #610
- feat(compiler): Support multi-output by @BourgerieQuentin in #470
- fix(compiler): Force linking of libomp with libstdc++ in debug builds by @andidr in #615
- Feat: np.minimum & np.maximum by @umut-sahin in #613
- test(compiler): Add retry for fixing some flaky tests by @BourgerieQuentin in #611
- refactor(frontend/python): improve basic implementation of game of life example by @umut-sahin in #617
- fix noise in woppbs by @samcrx in #592
- test(frontend/python): use hinting instead of multiple outputs to test semi-optimized min/max by @umut-sahin in #620
- feat(frontend/python): process graph in place before MLIR conversion by @umut-sahin in #619
- fix(frontend-python): hint correct node when it's used after assignment by @umut-sahin in #622
- fix(compiler): print parameters correctly in the bindings by @umut-sahin in #623
- feat(frontend-python): make it possible to query maximum bit-width of… by @umut-sahin in #624
- chore(ci): Update m6i to m7i by @BourgerieQuentin in #625
- chore(frontend-python): typo in fhe_basics.md by @bcm-at-zama in #626
- Feat/new ops compiler by @rudy-6-4 in #614
- fix(frontend-python): assigning signed values to unsigned tensors by @umut-sahin in #627
- feat(frontend-python): add truncate bit pattern extension by @umut-sahin in #628
- chore(compiler): fix capnp build step requiring network by @aPere3 in #631
- Main bench fix by @BourgerieQuentin in #634
- fix(frontend-python): use more strict inputset to fix a flanky test by @umut-sahin in #636
- chore(compiler): fix broken retry for flaky tests by @aPere3 in #632
- feat(frontend-python): fancy indexing by @umut-sahin in #640
- docs(compiler): update the readme by @bcm-at-zama in #641
- feat(compiler): Input compression bis by @mkmks in #605
- Feat: Bit Extraction by @umut-sahin in #635
- feat(frontend-python): printing assignment by @umut-sahin in #643
- fix(frontend-python): generate correct MLIR for signed integer rounding to 1-bit by @umut-sahin in #644
- chore(deps): bump rustix from 0.37.21 to 0.37.27 in /compilers/concrete-optimizer by @dependabot in #645
- chore(deps): bump rustix from 0.37.21 to 0.37.27 in /backends/concrete-cpu/noise-model by @dependabot in #646
- chore(deps): bump rustix from 0.37.21 to 0.37.27 in /backends/concrete-cpu/implementation by @dependabot in #648
- chore(ci): bump actions/setup-python from 4 to 5 by @dependabot in #630
- chore(ci): bump actions/download-artifact from 3 to 4 by @dependabot in #637
- chore(ci): bump actions/upload-artifact from 3 to 4 by @dependabot in #638
- chore(ci): bump dawidd6/action-download-artifact from 2 to 3 by @dependabot in #639
- chore(ci): bump tj-actions/changed-files from 32 to 41 by @dependabot in #649
- Fix flaky python test by @BourgerieQuentin in #651
- fix(backend/cpu): Fix the size of the expanded lut in woppbs case of … by @BourgerieQuentin in #650
- chore(backend/frontend): Fixing formatting... by @BourgerieQuentin in #652
- feat(frontend-python): activate local env using make by @rudy-6-4 in #647
- chore(concrete_cpu): fix nightly feature which was not forwarded to TFHE-rs by @IceTDrinker in #654
- feat(optimizer): add support for weak function composition by @aPere3 in #629
- Support for [Multi-]GPU in CP by @antoniupop in #544
- Antoniu/fix distributed by @antoniupop in #633
- chore: using fhe.bits() feature in Game of Life example by @bcm-at-zama in #655
- fix(optimizer): accept composable for v0-no-dag and woppbs by @rudy-6-4 in #660
- fix(frontend-python): some tests are broken due to compiler bug by @rudy-6-4 in #618
- fix(frontend-python): ensure shift strategies coverage by @rudy-6-4 in #658
- refactor(compiler/frontend): Rename option to compress_evaluation_keys by @BourgerieQuentin in #659
- fix(compiler/benchmark): Use default compiler options for default com… by @BourgerieQuentin in #661
- docs(compiler): fix readme by @aquint-zama in #662
New Contributors
- @dependabot made their first contribution in #559
Full Changelog: v2.4.0...v2.5.0