Commit Graph

81 Commits

Author SHA1 Message Date
Umut
2c3c080923 test(direct-tlu): create debugging and compilation tests for direct table lookup 2021-08-12 17:41:06 +03:00
Benoit Chevallier
4afc373a6b Update GETTING-STARTED.md
Adding the group name
2021-08-12 15:51:35 +02:00
Benoit Chevallier-Mames
4f6103d1d1 fix: fixing issue in the graph generation
closes #130
2021-08-12 15:17:35 +02:00
Umut
8fd0ae5c85 feat(docker): create a docker environment to test and develop MLIR stuff 2021-08-12 10:51:26 +03:00
Benoit Chevallier-Mames
8f3e461e3b fix: docstring following google conventions
refs #122
2021-08-11 18:11:56 +02:00
Benoit Chevallier-Mames
765df12a2d doc: add autogenerated doc in sphinx
refs #118
2021-08-11 15:23:11 +02:00
Arthur Meyre
7bdcfabbfe feat(hnp-tracing): add support for ufunc routing to NPTracer
- start tracing numpy.rint and manage dtypes
- update BaseTracer to accept iterables as inputs, because NPTracer does
not get list givent the way numpy sends arguments to the functions
2021-08-11 14:20:42 +02:00
Arthur Meyre
19e68589d1 dev(numpy-dtypes): add some additional numpy dtype helper functions
- add function to convert a type from the project to a numpy dtype
- add function to manage numpy ufunc output dtypes
- add a check for integers to have positive bit_width
- add a check for floats to only accept 32 and 64 bits
2021-08-11 14:20:42 +02:00
Arthur Meyre
e296e9667e chore(tools): use /bin/bash as shell for the Makefile
- tested some commands with an environment which had /bin/sh as default
shell, some did not work, this fixes it
2021-08-11 10:40:00 +02:00
Umut
fe9ab2d21d feat(compilation): create compilation artifacts and provide a way to export them in a textual format 2021-08-11 10:26:54 +03:00
Umut
56556a85e9 feat(representation): create lookup table wrapper to be used during tracing direct table lookups 2021-08-10 12:42:38 +03:00
Umut
c63ad8ac92 fix(debugging): assign a color to ArbitraryFunction nodes 2021-08-10 12:42:38 +03:00
Arthur Meyre
c51c4bd17a feat(tracing-astype): add astype method on NPTracer 2021-08-10 10:13:00 +02:00
Arthur Meyre
9ef2154d51 dev(numpy-dtype): add a function to translate numpy types to frontend types 2021-08-10 09:07:30 +02:00
Arthur Meyre
3f53c3320e chore(req): add numpy dependency
- also add numpy typing plugin to mypy
2021-08-10 09:07:30 +02:00
Arthur Meyre
371cdd5e66 fix(ir): make is_equivalent_to abstract
- this allows to make sure each node has a proper implementation
- move op_args and op_kwargs in ArbitraryFunction only
- update BaseTracer accordingly
2021-08-09 13:42:55 +02:00
Benoit Chevallier-Mames
d09f1b90a6 feat: let's be a bit more flexible with pylint
closes #97
2021-08-09 13:32:11 +02:00
Arthur Meyre
5d9259c000 dev(ir): add the ArbitraryFunction ir node 2021-08-06 18:35:25 +02:00
Arthur Meyre
789a976661 dev(floats): add the possibility to have constant floats in a program
- update ConstantInput to manage floats
- update OPGraph update_values_with_bounds to manage floats
- update test code to manage cases where output could be a float
- add test cases with float inputs
2021-08-06 17:38:13 +02:00
Benoit Chevallier-Mames
6491e47178 feat: adding a compilation api
also, showing data_types in get_printable_graph
refs #86, #87
2021-08-06 17:04:30 +02:00
Benoit Chevallier-Mames
055298daf8 doc: explain what are datasets in eval_op_graph_bounds_on_dataset 2021-08-06 17:04:30 +02:00
Benoit Chevallier-Mames
36e30e81b4 fix: check datasets
closes #91
2021-08-06 17:04:30 +02:00
Benoit Chevallier-Mames
ee832079ba fix: remove the use of map in the code base
closes #90
2021-08-06 16:51:19 +02:00
Umut
b79fd775d0 doc(readme): fix a grammatical mistake 2021-08-06 10:54:32 +03:00
Umut
669cf48ea4 doc(README.md): fix double spacing error 2021-08-06 10:54:32 +03:00
Umut
4b1990e731 doc(getting-started-guide): add getting started guide to sphinx toc and readme.md, fix branch convention, improve wording 2021-08-06 10:54:32 +03:00
Umut
ebce33327d doc(getting-started-guide): rephrase some sentences, fix typos, add leaving the environment section 2021-08-06 10:54:32 +03:00
Umut
43ba1c5296 doc(getting-started-guide): add link to conventional commits documentation 2021-08-06 10:54:32 +03:00
Umut
e0231d9775 doc(getting-started-guide): create terminology section, add section descriptions, improve some commands, fix typos 2021-08-06 10:54:32 +03:00
Umut
7fa67e1e4a doc: create getting started guide 2021-08-06 10:54:32 +03:00
Arthur Meyre
c9c7acf616 dev(floats): update function to mix types to support floats 2021-08-05 18:15:45 +02:00
Arthur Meyre
0c275c5f43 dev(floats): add Float class to represent a floating point value 2021-08-05 15:49:01 +02:00
Benoit Chevallier-Mames
1771bc6e52 fix: fix #80
closes #80
2021-08-05 11:30:45 +02:00
Benoit Chevallier-Mames
1ee8195af0 feat: supporting several outputs in print and draw of graphs
refs #76
2021-08-05 10:59:24 +02:00
Arthur Meyre
078c8dc8f1 fix: conform to more reasonable style to check type of object (#78) 2021-08-04 16:23:26 +01:00
Benoit Chevallier-Mames
6a80b065fc test: testing eval_op_graph_bounds_on_dataset with multiple outputs
refs #74
2021-08-04 16:22:46 +02:00
Arthur Meyre
73f21c79a6 dev: add a function to check that a program is an actual integer program 2021-08-03 18:53:09 +02:00
Arthur Meyre
c6a2b4b35c chore(reqs): update requirements 2021-08-03 18:35:12 +02:00
Benoit Chevallier-Mames
6157e4680b feat: adding constant management
refs #49
2021-08-03 16:49:46 +02:00
Arthur Meyre
0baa02549c build(mlir): setup things to use the MLIR/homomorphizer docker image 2021-08-03 16:03:56 +02:00
Arthur Meyre
a158b09f44 feat(bounds): add function to update OPGraph IR nodes in and output values
- this allows to have tighter data types by sticking to the smallest types
able to represent the ranges passed as argument
- update test_dataset_eval to check the output Value's data_type is updated
2021-08-03 11:33:13 +02:00
Arthur Meyre
b1a3b28a20 dev(dtypes): add a function to make Integers able to hold a set of values 2021-08-03 11:33:13 +02:00
Arthur Meyre
e55284b3ea feat(bounds): add a way to evaluate an operator graph on a dataset 2021-08-02 13:01:52 +02:00
Arthur Meyre
9b52ea94fb dev(opgraph): add a class to ease manipulating an operator graph 2021-08-02 13:01:52 +02:00
Arthur Meyre
be391ca388 chore: remove reference to package name and file paths
- avoids desync with the package name and file paths (which are unstable)
2021-08-02 13:01:52 +02:00
Benoit Chevallier-Mames
c91ee858c5 feat: adding a function to print a graph
refs #38
2021-07-30 14:44:22 +02:00
Benoit Chevallier-Mames
1196b00c6b feat(debugging): implementing draw_graph
draw_graph is the function to show on a plot the traced function-to-compile
add edge numbers
refs #38
2021-07-30 11:00:35 +02:00
Arthur Meyre
8925fbd2db dev(ir): add evalute to simulate the computation represented by IR nodes 2021-07-29 10:59:37 +02:00
Arthur Meyre
d739e6672d dev(ordered-inputs): update code to keep the input index in Input IR nodes
- this input index will be useful for MLIR/lower level conversions
- it represents the input index of an Input node when considering the
traced function signature
- update code preparing function parameters to keep signature order
2021-07-29 10:59:37 +02:00
Arthur Meyre
5e5d0477b1 test: add argument annotation in parameter id for clear pytest logs
- sometimes arguments are re-ordered in the id written by pytest to sdtout
which makes identifying the failing case hard, this solves the issue for
one test function
2021-07-28 11:48:44 +02:00