Commit Graph

277 Commits

Author SHA1 Message Date
Umut
ba33d42762 feat: implement transpose 2022-04-08 12:09:44 +03:00
Umut
c45b9ffa43 feat: rewrite tests 2022-04-08 12:09:44 +03:00
Umut
3239a147e6 chore: remove the old implementation and its tests 2022-04-08 12:09:44 +03:00
youben11
2e831e4415 feat: introduce new API to encrypt/run/decrypt separetely
Also introduce new compilation options for parallel execution
bump concrete-compiler to 0.6.0 which support loop parallelization
2022-04-07 10:10:56 +03:00
Umut
431e55a235 chore: remove long running 8-bit tests 2022-03-31 23:38:55 +03:00
youben11
dd69ccc241 test: reduce negative LUT tests
tests started to take a long time
2022-03-29 19:14:41 +03:00
Umut
d19514bb97 feat: add support for 8-bit integers 2022-03-29 19:14:41 +03:00
youben11
a9d2733230 test: test transpose correctness 2022-03-29 19:14:41 +03:00
youben11
a2955d29ea feat: add support for numpy.transpose compilation 2022-03-29 19:14:41 +03:00
Umut
b71cbc8ecb feat: mimic the exact numpy behavior for matmul 2022-03-08 11:40:57 +03:00
youben11
98bec17050 feat: add convolution extension
extend the current tracing and compilation with convolution, which
should compile to the FHELinalg.conv2d operation from the compiler
2022-03-01 15:16:09 +01:00
Arthur Meyre
19c78e6dad refactor: make float fusing deterministic
- consider having a an OrderedSet class instead of using dicts for it

closes #1438
2022-02-28 12:04:35 +03:00
Umut
4bb5a54d6e fix(compilation): work around slicing limitations 2022-02-18 11:05:46 +03:00
Umut
99f52acd98 feat: add support for numpy.sum and numpy.concatenate 2022-02-17 13:24:22 +03:00
Umut
f88e0dfc89 refactor: remove ml related functionality, small bug fixes 2022-01-19 17:30:06 +03:00
Umut
4b647b108d fix(compilation): use proper variable input constructor during lookup table generation 2022-01-10 16:08:10 +03:00
Arthur Meyre
d8a64f25b8 chore: fix test for matmul correctness
- bit-width could get too high, rename input_range to be clearer on bounds
- fix bounds that seemed to want to use a set number of bits but being off
by one (e.g. 4 -> 3 as 0-3 is the range for a 2 bits integer)

closes #1352
2022-01-10 10:56:23 +01:00
jfrery
4a8c0c3d4d fix: flaky test in 3-FC 2022-01-07 09:43:38 +01:00
Arthur Meyre
e2fc523596 chore: rename package 2022-01-05 14:12:23 +01:00
IceTDrinker
a48f8cb4f1 chore(deps): bump compiler to 2022-01-04T16:08:11Z
- disable PR automerge on compiler update (too risky)
- change init file to be a namespace package
- remove version.py (infos can still be retrieved through package meta)
this avoids potential conflicts with other packages we release
- various fixes for compiler compatibility

closes #1272
2022-01-04 19:18:26 +01:00
Arthur Meyre
e522f22ce8 chore: rename package
- poetry lock required to update package name
- related Makefile and licenses update to keep consistency (will be removed
once the PyPi package is available)
- modified compile_torch_model to only accept datasets with one input
mypy error with better numpy typing hints appeared

closes #1252
2022-01-04 09:12:18 +01:00
Arthur Meyre
11c38efa1e test: add dot tests with non program inputs args
- also fix some inputsets which had wrongly shaped inputs
2021-12-24 17:49:30 +01:00
Arthur Meyre
0af91911c3 fix: accept other comparison functions for the new per cell checks in tests 2021-12-24 16:07:44 +01:00
jfrery
9e938ddfff feat: add missing pieces for relu6 2021-12-24 12:30:14 +01:00
Arthur Meyre
2c8dbce3e0 chore: fix auto-merged PR 2021-12-24 09:43:41 +01:00
IceTDrinker
31ae92a5db chore: test slow compiler
- fix CI scripts for the current compiler releases
- add keycache system
2021-12-23 15:15:22 +01:00
jfrery
65be1b0818 feat: use signed weights in compile_torch_model 2021-12-23 11:24:02 +01:00
Arthur Meyre
2dc070dd4b fix: correct matmul reshapes for 1D cases
- add tests for these cases with non square 2D matrices
2021-12-21 10:39:16 +01:00
Umut
4e6c57766a refactor: improve isclose used in quantization tests 2021-12-20 12:19:06 +03:00
Arthur Meyre
31a3bdcf2e fix: allow signed matmuls
closes #957
2021-12-20 09:32:27 +01:00
Arthur Meyre
94b9d83cbb feat: support 1D vectors in MatMul
closes #948
2021-12-15 09:47:50 +01:00
Umut
c8ec2a2340 feat(mlir): implement mlir conversion of reshape and flatten 2021-12-14 12:54:24 +03:00
Arthur Meyre
987f67b64c chore: fix test for dot with signed constants
closes #1123
2021-12-08 19:17:10 +01:00
Umut
cad7d67e22 feat(mlir): implement MLIR conversion for clear @ encrypted 2021-12-08 17:49:12 +03:00
Arthur Meyre
a9a8cdb223 feat: easily print and draw NPFHECompiler underlying OPGraph
closes #1075
2021-12-06 16:17:52 +01:00
Umut
5aad8c50ac test: create check_array_equality fixture 2021-12-06 16:44:32 +03:00
Arthur Meyre
a0c26315ea chore: make check_is_good_execution a fixture and fix flaky tests using it
closes #1061
2021-12-03 17:43:11 +01:00
Umut
222635200b feat(tracing): add shape property to base tracer 2021-12-03 15:08:12 +03:00
Arthur Meyre
500d46a552 chore: disable flaky test 2021-12-03 12:10:08 +01:00
Arthur Meyre
c7255dfd66 feat: update compile_torch_model to return compiled quantized module
closes #898
2021-12-03 10:32:04 +01:00
jfrery
bf70396340 fix: increase the input data range to fix error when only one weight per layer 2021-12-03 09:24:00 +01:00
Arthur Meyre
48aaed9ee8 refactor: disallow tuple input in inputset for 1-input functions
- handle the case properly once we add tuple support in #772

closes #971
2021-12-02 11:59:42 +01:00
jfrery
54c0bc6e87 test: disable flaky tests 2021-12-01 10:48:41 +01:00
Umut
1b5785e058 feat(extensions): add and test support for negative direct table lookups 2021-12-01 12:09:10 +03:00
Arthur Meyre
8b0a793cda feat: create torch-like API part deux
- add function to get the FHECircuit

closes #233
2021-12-01 09:36:47 +01:00
Benoit Chevallier-Mames
edefde9189 feat: adding a compile_torch_model function
refs #898
2021-11-30 16:24:21 +01:00
Arthur Meyre
e111891a41 test: more signed TLUs cases
closes #1014
2021-11-30 11:45:15 +01:00
jfrery
1625475897 feat: end-to-end compilation of a torch model 2021-11-30 11:30:13 +01:00
Arthur Meyre
13b9ff96f0 feat: create torch-like APIs part 1
- work on generating OPGraph with a torch-like API

refs #233
2021-11-30 11:06:46 +01:00
Umut
ac74e94e13 feat(mlir): implement mlir conversion of constant indexing 2021-11-30 12:40:34 +03:00