Commit Graph

3428 Commits

Author SHA1 Message Date
Benoit Chevallier-Mames
23d4dead30 chore: remove unnecessary lambda in tests 2021-10-27 18:47:56 +02:00
Umut
eedbe0606b feat(tracing): implement tracing of matmul 2021-10-27 17:11:19 +03:00
Umut
118e6454b7 test(tracing): fix shape mismatch in one of the dot tracing tests 2021-10-27 17:11:19 +03:00
Andi Drebes
2c63018ed2 fix(compiler): Makefile: Make targets without file dependencies PHONY
Most of the targets in `Makefile` do not deped on files produced by
other targets and use target names solely for dependency
management. Make all such targets PHONY in order to avoid that they
are skipped accidentially when a file with the same name is present.
2021-10-27 13:39:35 +02:00
Andi Drebes
e7b2582639 fix(compiler): Makefile: Invoke CMake for each Python target separately
The Makefile target `python-bindings` invokes CMake with multiple
targets specified after the `--target` commandline option. However, as
per the CMake manpage, only one target may be specified at once.

This changes the single invocation of CMake to separate invocations
for each target.

Tested with CMake version 3.13.4.
2021-10-27 13:39:35 +02:00
Andi Drebes
527887bbf9 fix(compiler): Makefile: Do not let target 'build' depend on directory
The target `build` creates a build directory with the same name and
initializes through an invocation of CMake. Regardless of the success
or failure of the CMake invocation, all subsequent invocations of the
target do not invoke CMake anymore, as the target's prerequisites are
satisfied through the existence of the build directory created upon
the first invocation.

This patch changes the dependencies to the build directory with an
intermediate target that depends on a stamp file that is only created
when the first CMake invocation in the build directory succeeds.
2021-10-27 13:39:35 +02:00
Arthur Meyre
5a54f2e053 chore(ci): fix pylint configuration for protected accesses
- the check was disabled by default in python special functions

closes #752
2021-10-27 10:16:45 +02:00
Arthur Meyre
ecfde7b233 refactor(debugging): accept several highlights per node when printing
refs #645
2021-10-26 17:19:33 +02:00
youben11
ab7a208112 fix: store OpPassManager& before call to addPass
weird bug with c++ 6.3 on the manylinux_2_24 image (Debian9) generating
erroneous asm instructions for call to nest on PassManager
2021-10-26 16:31:04 +02:00
youben11
5a2e9460fb build: setup build tools for python package
- Docker image to build wheels for linux_x86_64 CPython 3.[8,9,10] with
  GLIBC >= 2.24
- Specify which Python to use in Makefile
- Fix cmake build to handle when libpython isn't available (cmake>3.18)
2021-10-26 16:31:04 +02:00
youben11
2e3560654f chore: bump LLVM to 55e76c70 2021-10-26 16:31:04 +02:00
youben11
7b29600721 refactor: don't use designated initializers 2021-10-26 16:31:04 +02:00
Umut
70fbac7188 feat(compilation): provide a way to automatically generate a random inputset 2021-10-26 11:44:57 +03:00
Benoit Chevallier-Mames
9459675cfb feat: manage signed constants
closes #688
closes #612
2021-10-26 10:06:15 +02:00
Arthur Meyre
624143106f refactor(compilation): remove unnecessary check in compile.py
refs #645
2021-10-25 17:02:43 +02:00
Umut
c46d96aabf refactor(compilation): improve error messages of indexing 2021-10-25 17:35:36 +03:00
Umut
65af96253b feat(tracing): implement tracing of constant indexing 2021-10-25 13:14:29 +03:00
Arthur Meyre
afb342aec3 chore: update Makefile targets to use && instead of ;
- lets target fail properly

closes #725
2021-10-25 10:01:41 +02:00
dependabot[bot]
5aa87168f6 chore(deps): bump marocchino/sticky-pull-request-comment
Bumps [marocchino/sticky-pull-request-comment](https://github.com/marocchino/sticky-pull-request-comment) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/marocchino/sticky-pull-request-comment/releases)
- [Commits](82e7a0d3c5...39c5b5dc77)

---
updated-dependencies:
- dependency-name: marocchino/sticky-pull-request-comment
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 09:13:27 +02:00
Arthur Meyre
9a41a57be0 fix: report the correct coverage status on exit
closes #719
2021-10-22 18:40:14 +02:00
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
Quentin Bourgerie
247cc489c5 refactor(compiler): Refactor JITLambda::Argument::setArg 2021-10-21 14:40:07 +02: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
Quentin Bourgerie
b5f68c20c7 fix(compiler): Remove the default constraint since tensor operators are supported 2021-10-20 16:21:52 +02:00
Quentin Bourgerie
1c202ebaff enhance(compiler): Support of tensor operators in MANP pass (close #169) 2021-10-20 16:21:52 +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