Commit Graph

43 Commits

Author SHA1 Message Date
Umut
6a37249ec5 chore: integrate ruff 2022-12-23 11:54:38 +01:00
Umut
25b9a59e21 feat: introduce tag extension, create integer range getter for graphs, allow filtering in integer bit width getter 2022-11-18 12:33:03 +01:00
Umut
ea34aeba09 feat: introduce 'global_p_error' configuration 2022-10-13 17:27:18 +03:00
Umut
7415dd07e1 feat: support unsigned levelled operations on large bit-widths 2022-08-29 13:04:04 +03:00
Umut
a6b09ddf09 feat: support signed inputs 2022-06-22 11:03:48 +03:00
youben11
c25f9b7782 chore: use consistent name of key_cache in config 2022-05-19 11:46:39 +03:00
youben11
4d22dec705 fix: make sure path to keyset cache is set when enabling the cache 2022-05-16 17:25:13 +01:00
Umut
6662b71dfe feat: support library compilation and serialization 2022-05-06 11:16:43 +03:00
Umut
a5961a7008 refactor: rename compilation configuration to configuration 2022-04-29 11:10:14 +03:00
Umut
ce7646f102 feat: introduce explicit encrypt/decrypt/run api 2022-04-08 12:09:44 +03:00
Umut
72c13c54be refactor: rename run method of the circuit to encrypt_run_decrypt 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
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
Umut
f88e0dfc89 refactor: remove ml related functionality, small bug fixes 2022-01-19 17:30:06 +03:00
Arthur Meyre
e2fc523596 chore: rename package 2022-01-05 14:12:23 +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
0af91911c3 fix: accept other comparison functions for the new per cell checks in tests 2021-12-24 16:07:44 +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
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
Benoit Chevallier-Mames
ec396effb2 chore: seed torch as much as possible
closes #877
2021-11-24 09:47:37 +01:00
Arthur Meyre
d2faa90106 refactor: replace UnivariateFunction by GenericFunction
- add an attribute fusable to False for the operations that should not be
explicitely fused from the original addition of GenericFunction
- add op_kind instance attribute to differentiate between TLU and memory
operations for GenericFunction

refs #600
2021-11-03 12:05:02 +01:00
Benoit Chevallier-Mames
8123a5ef45 feat: implement a generic node for functions which change shape
and implement np.transpose with it
and implement np.ravel with it

refs #745
2021-11-02 11:20:48 +01:00
Arthur Meyre
212dc36382 feat: emit loguru warning with reason for subgraph not fusing
- catches cases with more than one variable input
- catches cases where the shapes are not the same in intermediate nodes

refs #645
2021-10-28 14:36:12 +02:00
Umut
eedbe0606b feat(tracing): implement tracing of matmul 2021-10-27 17:11:19 +03:00
Umut
65af96253b feat(tracing): implement tracing of constant indexing 2021-10-25 13:14:29 +03:00
Arthur Meyre
9a41a57be0 fix: report the correct coverage status on exit
closes #719
2021-10-22 18:40:14 +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
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
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
Arthur Meyre
286dda79b2 fix: correct pytest command in Makefile 2021-10-12 11:18:00 +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
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
Umut
bc80f0de10 refactor: fix new pylint warnings 2021-09-29 11:51:08 +03:00
Arthur Meyre
eaf8cfb933 tests: add function for ArbitraryFunction arbitrary_func equivalence
- this is not perfect but pretty close to the best we can do
2021-09-23 16:57:12 +02:00
Arthur Meyre
959328e0f5 chore: rename hdk to concrete first pass 2021-09-06 18:43:49 +02:00
Arthur Meyre
1b489b281c refactor: move is_equivalent to conftest.py for tests 2021-08-26 14:15:30 +02:00
Arthur Meyre
31259e556c refactor: remove the content= when adding nodes to a graph
- required by tests but can be done by the testing function itself
2021-08-26 11:25:55 +02:00
Arthur Meyre
a060aaae99 feat(tracing): add tracing facilities
- add BaseTracer which will hold most of the boilerplate code
- add hnumpy with a bare NPTracer and tracing function
- update IR to be compatible with tracing helpers
- update test helper to properly check that graphs are equivalent
- add test tracing a simple addition
- rename common/data_types/helpers.py to .../dtypes_helpers.py to avoid
having too many files with the same name
- ignore missing type stubs in the default mypy command
- add a comfort Makefile target to get errors about missing mypy stubs
2021-07-26 17:05:53 +02:00
Arthur Meyre
ce358ca838 tests: add test helper to compare digraphs
- add test to check that the helper is working
2021-07-26 17:05:53 +02:00