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
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
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
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
Benoit Chevallier-Mames
ea7e117815
chore: let's try to check optional scopes
...
refs #583
2021-10-12 10:36:41 +02:00
Arthur Meyre
3c85d63603
chore: fix release workflow dependencies install
...
- graphviz is required for the whole project, we don't have dependencies
groups yet (waiting for poetry 1.2) so we need to install it
2021-10-11 19:06:51 +02:00
Arthur Meyre
8490f88227
chore: change coverage to have global infos
...
- have a small hack to dump pytest-cov report
2021-10-11 19:06:37 +02:00
Arthur Meyre
de3a9f9bb3
chore: update release workflow for auto GitHub release creation
...
- update version_utils.py script to get info about prerelease
- update release template
2021-10-11 16:13:10 +02:00
Benoit Chevallier-Mames
e8b8869ae8
feat: write %2 = Add(%0, %1) instead of %2 = Add(0, 1)
...
refs #601
2021-10-11 14:34:49 +02:00
Arthur Meyre
00916bcfdb
refactor: rename ArbitraryFunction to UnivariateFunction
...
- the naming has always been confusing and recent changes to the code make
this rename necessary for things to be clearer
2021-10-11 11:36:35 +02:00
Arthur Meyre
44016cc80c
feat: manage float fusing for tensors
...
- add op_attributes on ArbitraryFunction
- this works if all constants are smaller than the input tensor
- otherwise it requires more advanced code and a concatenate operator which
currently does not exist
2021-10-11 10:42:20 +02:00
Arthur Meyre
fb9cc79128
chore: make sure xfail test cases are strict
2021-10-11 10:42:20 +02:00
Umut
2cfb32d2c1
feat(benchmarks): add source code information to benchmarks
2021-10-11 10:07:51 +03:00
Umut
a7f00ec111
fix(benchmarks): replace properties field of the machine information to specs
2021-10-11 10:07:51 +03:00
Arthur Meyre
92ca061da9
chore: fix release workflow
...
- new tool to evaluate latest tag depends on some python packages
- for now install the whole environment again
- when poetry 1.2 is available use groups and only install required deps
2021-10-08 15:59:51 +02:00
Benoit Chevallier-Mames
e8114cc470
feat: add management of boolean binary operators with a const scalar
...
refs #126
refs #529
2021-10-08 15:31:04 +02:00
Umut
f443b41cef
docs(benchmarks): explain the module trick used in the measurement script with comments
2021-10-08 14:23:54 +03:00
Arthur Meyre
f2c08571a3
chore: add changelog generation and artifact upload for release
2021-10-07 18:35:09 +02:00
Umut
57b3be2f6d
fix(benchmarks): treat warnings as errors in benchmarks
2021-10-07 18:40:33 +03:00
Umut
6affa54473
feat(configuration): add option to treat warnings as errors
2021-10-07 18:40:33 +03:00