Commit Graph

3428 Commits

Author SHA1 Message Date
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