Commit Graph

459 Commits

Author SHA1 Message Date
Benoit Chevallier-Mames
fc908fb3f5 chore(benchmarks): fix the mistake in the change of the benchmark script 2021-10-22 18:39:08 +02:00
Arthur Meyre
fbfaeb2b17 feat: add table deduplication to NPMLIRConverter
closes #560
closes #561
2021-10-22 18:19:44 +02:00
Arthur Meyre
76d6f1e1f1 chore: bump version to 0.2.0-rc4 2021-10-22 18:05:27 +02:00
Benoit Chevallier-Mames
bc90ed37ff chore(debugging): show problems in a clearer way with highlighted_nodes 2021-10-22 14:41:24 +02:00
aquint-zama
0b864afb76 docs: add versions.html template 2021-10-22 13:30:14 +02:00
aquint-zama
946f0c07c7 chore: update docs theme to v0.6.2 2021-10-22 13:30:14 +02:00
Benoit Chevallier-Mames
6edba1e10c chore(benchmarks): add benchmark scripts for more features
refs #700
2021-10-21 16:27:25 +02:00
Benoit Chevallier-Mames
f1d28c0fad chore(benchmarks): manage comma and point signs 2021-10-21 16:27:25 +02:00
Umut
7f1222ed37 feat(benchmarks): add a way to check benchmark scripts without running them 2021-10-21 16:03:47 +03:00
jfrery
3a7274c905 docs: alert user on PROJECT_SETUP.md that zama's specific environment is needed 2021-10-21 10:16:26 +02:00
Benoit Chevallier-Mames
806d6584e8 feat: let us choose file to benchmark
if needed, eg during development of new benchmarks, we can chose the files to benchmark with calls like:
- poetry run python script/progress_tracker_utils/measure.py benchmarks -f benchmarks/x_matmul_y.py benchmarks/x_plus_y.py
- poetry run python script/progress_tracker_utils/measure.py benchmarks -f benchmarks/x_matmul_y.py

and the classical

- poetry run python script/progress_tracker_utils/measure.py benchmarks

is still usable
2021-10-20 16:18:32 +02:00
Umut
be453394fb fix(compilation): raise the appropriate error for intermediate signed integers 2021-10-20 17:15:52 +03:00
Arthur Meyre
92de61f485 chore: bump version to 0.2.0-rc3 2021-10-20 10:13:40 +02:00
Arthur Meyre
c16ac6ada8 chore(ci): add forgotten release template file 2021-10-19 20:40:27 +02:00
Arthur Meyre
e707333f36 chore(ci): update release text generation
closes #634
2021-10-19 18:30:05 +02:00
Arthur Meyre
83ddf92bdd chore(ci): update workflow to push doc
- check version and tag match
- push doc as version if not pre-release
- push doc as stable if version is the biggest one, clear cache in that
case

closes #454
2021-10-19 15:37:09 +02:00
Arthur Meyre
ab151091ce chore(scripts): add a target to trigger a release
- check the version coherence before creating the tag

refs #308
2021-10-19 15:37:09 +02:00
Arthur Meyre
a15e31dda4 chore: move pytest-randomly to dev deps 2021-10-19 11:06:42 +02:00
Benoit Chevallier-Mames
7bf2f09615 feat: remove support for np.invert
remove support for np.invert and propose to the user to use bitwise_xor instead, because of impossibilities with float fusing
closes #658
2021-10-19 10:40:23 +02:00
Arthur Meyre
fb0564eea2 docs(ci): change push target for documentation when pushing to main
- use preprod bucket through secrets

refs #454
2021-10-19 09:54:55 +02:00
Arthur Meyre
384026364e test: create default_compilation_configuration fixture
- update test code and use it where appropriate
- remove duplicate tests that lacked correctness verification
2021-10-19 08:51:35 +02:00
Arthur Meyre
82688206f7 refactor(mlir): generate tables before converting nodes to MLIR
- MLIRConverter becomes an abstract base class
- pass the needed informations in an extra dict to MLIR converters
- NPMLIRConverter handles the specifics of numpy tables generation
2021-10-18 18:39:27 +02:00
Benoit Chevallier-Mames
a8aafcb70a docs: autogenerate the list of supported functions
closes #410
2021-10-18 11:23:04 +02:00
Arthur Meyre
9571ad8e78 chore: add a Makefile target to grep pylintrc notes
- add a small helper python script to parse pylintrc
2021-10-18 10:54:51 +02:00
dependabot[bot]
42d4a1b873 chore(deps): bump actions/checkout from 2.3.4 to 2.3.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](5a4ac9002d...1e204e9a92)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 10:29:12 +02:00
Arthur Meyre
a0a0c4bce6 chore(ci): add deps optional scope to fix dependabot PRs 2021-10-18 10:02:25 +02:00
Arthur Meyre
5bb042bc16 chore(ci): prepare docs push for release with dummy steps 2021-10-15 17:10:44 +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
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