Quentin Bourgerie
fcc992db2b
chore(compiler): Rename std tensor test to clear tensor
2021-10-15 16:48:03 +02:00
Quentin Bourgerie
b6be5b5743
test(compiler): Test tensor.extract_slice and tensor.insert_slice with encrypted tensor #168
2021-10-15 16:47:53 +02:00
Quentin Bourgerie
d93da5bdc0
enhance(compiler): Handle tensor.extract_slice and tensor.insert_slice in the FHE lowering #168
2021-10-15 16:47:35 +02:00
Quentin Bourgerie
3e27592cd1
test(compiler): Add test on 2D clear tensor, tensor.extract, tensor.extract_slice, tensor.insert_slice #168
2021-10-15 16:47:35 +02:00
Quentin Bourgerie
3b2f21a715
enhance(compiler): Handle multi-dimensional tensor #167
2021-10-15 16:44:19 +02:00
Arthur Meyre
bc2ae7be47
chore: disable pylint line too long in test_compile where necessary
...
- fix pylint targets for non package dirs
2021-10-15 16:02:20 +02:00
Benoit Chevallier-Mames
d82f71e79a
chore: more verbosing in case of errors.
2021-10-15 16:00:58 +02:00
Umut
8b2efb8869
test(execution): add table lookup correctness tests
2021-10-15 16:16:32 +03:00
Umut
e164671608
feat(ci): add 'execution' optional scope
2021-10-15 16:16:32 +03:00
Arthur Meyre
2a1eb40bf2
test: use xdist to speed-up testing
2021-10-15 14:17:26 +02:00
Arthur Meyre
93e39e58f7
fix(representation): handle failure in UnivariateFunction get_table
...
- if only some values are problematic, flood fill the resulting table with
other valid values
- if no valid value was generated an AssertionError will be thrown
2021-10-15 14:17:11 +02:00
Arthur Meyre
1711663f67
refactor: use numpy err context manager in get_numpy_function_output_dtype
2021-10-15 14:17:11 +02:00
Umut
71c794dbeb
fix(compilation): remove 7-bit requirement for lookup tables
2021-10-15 14:55:29 +03:00
Benoit Chevallier-Mames
2d866ae3c1
chore: show types and optional scopes for conventional commits.
2021-10-15 13:31:47 +02:00
Benoit Chevallier-Mames
1c8c623951
test: deal with probabilistic nature of correctness tests
...
closes #656
refs #551
2021-10-15 13:10:15 +02:00
Arthur Meyre
a811b588c6
test: fix ldexp correctness test by changing the input type
2021-10-15 12:54:44 +02:00
Umut
73769b917e
feat(compilation): provide the reason for MLIR incompatibility
2021-10-15 13:06:36 +03:00
Umut
4c9c49ecd2
feat(debugging): provide a way for highlighting nodes with custom messages during printing
2021-10-15 13:06:36 +03:00
Umut
753ab5b6a2
feat(ci): add 'compilation' optional scope
2021-10-15 13:06:36 +03:00
Benoit Chevallier-Mames
12465f86ac
test: check correctness of ufunc's
...
for the moment:
- it has no hard check of correctness for now
- some functions are not managed
ref #551
2021-10-14 19:54:31 +02:00
Umut
67f50fb8ce
refactor(benchmarks): use 'bench' header prefix for all benchmark directives
2021-10-14 17:38:01 +03:00
Arthur Meyre
95c48a419c
refactor(tracing): preparatory work for tensor table generation
...
- removed underlying_type_constructor from BaseDataType as it was scalar
specific and put it in values
- update inputset_eval to keep a sample of intermediate node values
- allows to get the proper value constructor to be used in
UnivariateFunction get_table and have tensors as inputs
2021-10-14 10:53:21 +02:00
Benoit Chevallier-Mames
67a9bf12ca
test: make that the tested function has integer inputs
...
functions that we compile are supposed to have integer inputs and outputs
2021-10-13 15:09:36 +02:00
Benoit Chevallier-Mames
6e79c0baf5
test(ci): more random inputs
...
more random-looking inputs in subtest_fuse_float_binary_operations_correctness and
subtest_fuse_float_unary_operations_correctness
closes #547
2021-10-13 15:09:36 +02:00
Benoit Chevallier-Mames
17704da169
test: make our tests reproducible
...
by seeding random generators in python random or in numpy random
closes #546
2021-10-13 13:58:36 +02:00
Arthur Meyre
a4da3b8210
feat(tracing): add output_idx information in edges
...
- renamed output_index to output_idx in BaseTracer
- update tracing and fusing code to manage output_idx correctly
- update OPGraph evaluate and update_values_with_bounds to manage
output_idx
- update tests checking graph validity to have output_idx set properly
- the support of actual multi-output nodes is in #81
2021-10-13 11:14:31 +02:00
Quentin Bourgerie
8aaeff525c
test(compiler): Retry when an apply_lookup_table fail
2021-10-13 10:28:35 +02:00
Quentin Bourgerie
966160bc2c
fix(compiler): apply_lookup_table operators take tensor of i64
...
We decide to make this choice as they are issue to crate tensor of custom integer type in python.
+ we don't do the integer extension before convert to the concrete CAPI that requires i64
2021-10-13 10:28:35 +02:00
Quentin Bourgerie
b7e9f12799
test(compiler): Enhance HLFHE.apply_lookup_table test, still need to make some distribution test
2021-10-13 10:28:35 +02:00
Quentin Bourgerie
8f4da14bdb
fix(compiler): Pad constant tabulated lambda when the input precision of apply_lookup_table has been changed
2021-10-13 10:28:35 +02:00
Benoit Chevallier-Mames
0cd33b6f67
feat(debugging): let's stop using custom_assert
...
closes #637
2021-10-12 18:07:00 +02:00
Umut
1c935f2d92
refactor(benchmarks): reduce alert tolerance from 5% to 2% from the cleartext version
2021-10-12 18:01:44 +03:00
Umut
acdb80c6e3
feat(benchmarks): add more metrics to logistic regression benchmark
2021-10-12 18:01:44 +03:00
Umut
280ba7f8cd
fix(benchmarks): use quantized cleartext loss instead of non quantized one in linear regression
2021-10-12 18:01:44 +03:00
youben11
6204f93878
fix: call getChecked to better handle failure
2021-10-12 16:57:18 +02:00
Umut
47f03e427f
feat(benchmarks): add support for full and unit targets
2021-10-12 17:47:27 +03:00
Arthur Meyre
636da7808a
chore: update version to 0.2.0-rc2
2021-10-12 16:11:55 +02:00
Arthur Meyre
fc9fc992c8
fix(tracing): do not process already visited tracers
...
- some topologies triggered a bug where a tracer was visited several times
- this created duplicate edges which caused problems later in the code
- simply skip already visited tracers
- add a check to see that all edges are indeed unique
2021-10-12 15:09:58 +02:00
Arthur Meyre
31e14e7b66
chore(ci): fix another issue with a glob in the release workflow
2021-10-12 14:59:40 +02:00
Umut
e7a141c4f1
feat(ci): add more optional scopes
2021-10-12 15:11:34 +03:00
aquint-zama
1a051e64d5
chore: update docs theme to v0.5.0
2021-10-12 13:40:11 +02:00
youben11
33d75a92f4
ci: remove logging of LLVM commit
...
the loggign is actually incorrect, as this would be the version of the
repo, not the one in the env, so it doesn't even make sense
2021-10-12 11:50:15 +01:00
youben11
01757fa6d5
fix: forward errors instead of creating new ones
...
LLVM errors should be handled/consumed. Creating a new one and leaving
the previous one alive will crash the compiler. Whenever we don't want a
crash (e.g. logging the error is enough), but still wanna continue the
execution, we can just consume it.
2021-10-12 11:50:15 +01:00
Umut
c8b95de3e4
feat(benchmark): add alerts to benchmarks
2021-10-12 12:52:49 +03:00
Umut
4205e096f4
feat(benchmark): integrate alert system into measurement script
2021-10-12 12:52:49 +03:00
Benoit Chevallier-Mames
dedbde93d0
feat: get_printable_graph is more precise
...
get_printable_graph prints the constant if the ArbitraryFunction has a baked constant
closes #584
2021-10-12 11:43:49 +02:00
Arthur Meyre
286dda79b2
fix: correct pytest command in Makefile
2021-10-12 11:18:00 +02:00
aquint-zama
53efda71cf
chore: update doc theme to v0.4.1
2021-10-12 11:04:02 +02:00
Arthur Meyre
1dbc961dbb
fix: disable pip version warning during environment scan
...
- made some tests fail if pip is not the latest version
2021-10-12 10:54:12 +02:00
Arthur Meyre
fd40a8b951
chore: fix release workflow
...
- globs don't expand in quoted strings to the contrary of variables
2021-10-12 10:40:39 +02:00