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
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
6affa54473
feat(configuration): add option to treat warnings as errors
2021-10-07 18:40:33 +03:00
Benoit Chevallier-Mames
2da3895f1a
feat: add more bivariate operations
...
which are supported if one of the operands is a constant
refs #126
2021-10-07 16:14:07 +02:00
Umut
5fce0d2920
feat(compilation): implement MLIR conversion of constant arrays
2021-10-07 16:17:48 +03:00
Benoit Chevallier-Mames
56e0ed4a11
feat: manage binary op where one input is constant
...
feat #126
2021-10-06 17:53:52 +02:00
Umut
83ea485fe1
feat(tracing): enable implicit broadcasting for binary operations
2021-10-06 10:33:12 +03:00
Umut
003bad581a
feat(fhe_circuit): create FHECircuit class to combine operation graph and compiler engine
2021-10-04 12:23:37 +03:00
Arthur Meyre
a9d44f4758
feat(float_fusing): restrict to scalars before supporting tensors
2021-09-30 10:57:00 +02:00
Umut
c47dac833b
refactor: replace scalars with () shaped tensors, disable python list support in inputset
2021-09-29 17:55:58 +03:00
Umut
36d732b0ae
refactor: rename 'data_type' field of 'BaseValue' to 'dtype'
2021-09-29 11:51:08 +03:00
Umut
0061e01d62
feat: implement checking coherence between inputset and parameters
2021-09-24 13:49:54 +02: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
Umut
e4a06116ec
fix: inputset of test_mlir_converter for dot operation
2021-09-23 16:31:52 +03:00
Arthur Meyre
86052fa43d
chore(tools): update command line for isort to follow the 100 line length
2021-09-23 14:00:07 +02:00
Umut
441c4f9e7d
feat: check inputset size
2021-09-20 17:05:22 +03:00
Arthur Meyre
381c81b76c
refacto: remove iter usage for passing a dataset
...
- it is still supported but not required and more confusing
2021-09-15 20:07:21 +02:00
youben11
bd8dca11d5
fix(TLU): extend TLU to 2 ** bit_width elements
2021-09-14 17:57:52 +01:00
Benoit Chevallier-Mames
8522e58280
refacto: rename 'dataset' into a clear 'inputset'
...
closes #340
2021-09-14 17:31:55 +02:00
Benoit Chevallier-Mames
e78086eefa
feat: let's have a customizable assert
...
closes #245
2021-09-10 17:52:09 +02:00
Arthur Meyre
959328e0f5
chore: rename hdk to concrete first pass
2021-09-06 18:43:49 +02:00
youben11
31c1787af2
feat(mlir): conversion of dot node into MLIR
2021-09-03 08:57:07 +01:00
youben11
f686ca535a
feat(mlir): convert TensorValue inputs to MLIR
...
factorized the input type conversion of scalar values
2021-09-03 08:57:07 +01:00
Benoit Chevallier-Mames
cfe48cca15
test: add correctness tests for all supported ufunc's
...
closes #263
2021-09-02 16:00:33 +02:00
Arthur Meyre
bf2585ba0a
refacto: rename hnumpy to numpy as requested for the package imports
2021-09-02 12:20:01 +02:00
Umut
1e8debfb57
refactor: rename ClearValue/EncryptedValue to ClearScalar/EncryptedScalar
2021-09-01 15:33:19 +03:00
Umut
1fa049d914
feat: dump compilation artifacts automatically on compilation failures
2021-08-31 18:40:40 +03:00
Umut
02fbbfeaf7
test(drawing): crate test for saving the drawing
2021-08-31 18:40:40 +03:00
youben11
784158741e
feat(mlir): TLU conversion
2021-08-31 09:04:24 +01:00
Arthur Meyre
dbda93639b
dev(ir): add get_table function to ArbitraryFunction node
2021-08-31 09:04:24 +01: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
6d663ef63d
dev(ir): add Dot IntermediateNode
2021-08-25 10:51:03 +02:00
Arthur Meyre
96b04b45e1
refacto: rename check functions for values
...
- indicate the checks are for ScalarValues as we now have TensorValues
coming
2021-08-24 16:00:42 +02:00
Arthur Meyre
fc3ae6461c
refacto: change the way mixing values is handled
...
- use an intermediate function that checks which mix function to use
- update function used in hnumpy tracing
2021-08-24 16:00:42 +02:00
Umut
1d5be5a1e7
refactor: re-organize data types and values
2021-08-24 16:13:36 +03:00
Umut
2b5f7f3118
refactor: rename ConstantInput to Constant to reduce confusion
2021-08-24 10:48:57 +03:00
Arthur Meyre
4e658c15cb
feat: add TensorValue
2021-08-24 09:31:17 +02:00
Arthur Meyre
e41f77349f
refactor: make BaseDataType __eq__ abstract
...
- update test files with dummy dtypes
2021-08-24 09:31:17 +02:00
Arthur Meyre
60daf31981
refactor: refactor make_integer_to_hold_ints
...
- rename make_integer_to_hold_ints to make_integer_to_hold
- accept any values as input as we don't know which type this function will
be called with
- rename get_bits_to_represent_int to
get_bits_to_represent_value_as_integer
2021-08-23 14:10:41 +02:00
Arthur Meyre
0ff3ae4795
refactor: refactor BaseValue and mix_values_determine_holding_dtype
...
- add _is_encrypted to BaseValue
- remove EncryptedValue and ClearValue classes
- add a ScalarValue class
- add two helpers EncryptedValue and ClearValue which create a ScalarValue
either encrypted or not when passed a data_type
- rename to mix_scalar_values_determine_holding_dtype
- change typing
2021-08-23 14:10:41 +02:00
Arthur Meyre
371ecae801
tests: do not test BaseValue __repr__ anymore
2021-08-23 14:10:41 +02:00
Umut
94fef5e202
feat(debugging): provide a way to export the drawn graph as a png file
2021-08-18 17:33:19 +03:00
Umut
a367d68c6e
feat(compilation-configuration): make compilation customizable
2021-08-18 15:10:58 +03:00
youben11
788e94bfa3
feat: end to end compilation and execution
2021-08-18 08:08:19 +01:00
Arthur Meyre
4e40982f5a
feat(float-fusing): fuse float parts of an OPGraph during compilation
...
- this allows to be compatible with the current compiler and squash float
domains into a single int to int ArbitraryFunction
2021-08-17 18:27:31 +02:00
youben11
3922bfe9b4
feat(mlir): support constant inputs in mlir conversion
2021-08-16 14:58:56 +01:00
youben11
8fbe5dab4d
fix(mlir): unsigned are considered signless in compiler
...
+ changed the name of compiled func to main, as it's the default name to
be executed later
2021-08-16 14:58:56 +01:00
Benoit Chevallier
3245d3e673
Feat/user friendly arbitrary function name 144 ( #149 )
...
* feat: let the dev give a useful name for ArbitraryFunction
might be useful to debug or understand what happens
closes #144
* feat: let the dev give a useful name for ArbitraryFunction
might be useful to debug or understand what happens
closes #144
* feat: let the dev give a useful name for ArbitraryFunction
might be useful to debug or understand what happens
closes #144
* feat: let the dev give a useful name for ArbitraryFunction
might be useful to debug or understand what happens
closes #144
* feat: let the dev give a useful name for ArbitraryFunction
might be useful to debug or understand what happens
closes #144
* feat: let the dev give a useful name for ArbitraryFunction
might be useful to debug or understand what happens
closes #144
* feat: let the dev give a useful name for ArbitraryFunction
might be useful to debug or understand what happens
closes #144
Co-authored-by: Benoit Chevallier-Mames <benoitchevalliermames@zama.ai >
2021-08-13 18:10:35 +02:00