Commit Graph

138 Commits

Author SHA1 Message Date
rudy
5b92ed151c chore(ci): build before download test cache 2022-11-09 16:14:29 +01:00
David Testé
d1db4a5e45 tests(benchmarks): reduce number of test cases to speed-up execution
Bench just one compilation option for automatic benchmarks. Only 'loop'
option is tested to take advantage of hardware with a lot of available
CPUs. Running benchmarks with 'default' option is suboptimal for this
kind of hardware since it uses only one CPU.

This also remove time consuming MNIST test, as it should be in ML benchmarks.

Moreover Makefile is fixed to use provided Python executable instead of
relying on system one to generate MLIR Yaml files.
2022-11-03 19:07:39 +01:00
youben11
078a82c1a4 fix(ci): use specific python binary
setup-python seems to choose a binary that lead to issues while trying
to install the wheeled package
2022-11-03 13:29:11 +01:00
youben11
e3e1602fe8 fix(ci): set python to 3.10 in macos test runner
default is now 3.11 which we don't support yet, mainly due to our
version of pybind11. 2.10.1 is the first pybind11 version to supports it
2022-11-02 14:46:38 +01:00
youben11
e40c6392cb ci: build and test rust bindings 2022-11-02 14:46:38 +01:00
rudy
9156502a5a fix(ci): bump actions versions
to remove reprecation warning about nodejs 12
2022-10-24 15:08:54 +02:00
Arthur Meyre
a487b03699 chore(ci): fix quoting on cp command 2022-10-18 12:02:57 +02:00
David Testé
d2b20ca551 ci(bench): fix end-to-end benchmarks workflow
This includes several fixes and add some functionalities:
 * EC2 instance type can be selected when workflow is triggered manually
 * benchmarks will be run on each push on main branch
 * docker is not used any more due to building issues
 * 10 repetitions are made during the benchmarks then results are aggregated
 * more tags are used to identify benchmarks configuration
2022-10-18 12:02:35 +02:00
Arthur Meyre
4a3eca10bb chore(ci): fix quoting issue from jq command 2022-10-11 17:09:47 +02:00
youben11
0987fade80 fix: parameterize DATAFLOW_EXECUTION in python wheel 2022-10-07 16:59:34 +01:00
David Testé
89d7f065ae ci(compiler): schedule end-to-end benchmarks
Run end-to-end benchmarks on a weekly basis. Results are parsed and
then sent to Slab CI bot to be later plotted into Grafana.
2022-10-07 14:45:56 +02:00
Arthur Meyre
6ccbb8555c chore(ci): remove now useless workflow, remove ffi compilation 2022-10-07 13:44:20 +02:00
Arthur Meyre
9d3791bf96 chore: fix most actionlint and shellcheck lints 2022-10-07 09:49:00 +02:00
rudy
cb2c9ef6bf feat: accept no evaluation keys 2022-09-26 14:43:25 +02:00
youben11
1d52bee1aa ci: use ccache for Mac release 2022-09-19 13:24:20 +01:00
youben11
de19fdc868 fix: set SYSTEM_VERSION_COMPAT to 0 during macos tests
This is a known issue while using setup-python action
https://github.com/actions/setup-python/issues/279
2022-09-19 13:24:20 +01:00
youben11
628df8849c refactor: unify Makefile target naming style 2022-09-19 13:24:20 +01:00
youben11
8f05f9ea72 ci: change package release process
it should be now faster using the same compilation cache as the test
build.
2022-09-19 13:24:20 +01:00
youben11
698bd28104 ci: refactor docker images and CI jobs
use a single docker image for all testing environments
unify some CI jobs on this single environment
also parameterize the build of the doc, which no longer have a hardcoded
path for the compiler build directory
2022-09-13 15:18:15 +01:00
youben11
f88cd95eaf ci: update df image to use latest hpx
also removes some old copies in dockerfile that were meant to reduce
image size. However, as many entities need to be copied now, we might
need to have a better approach for this (using make install maybe), and
copy everything that is necessary into the right place.
2022-09-13 15:18:15 +01:00
youben11
0cd9a7984d feat: support dataflow execution in python packages
use latest image manylinux_2_28_x86_64 using libc 2.28
2022-09-13 15:18:15 +01:00
youben11
4b584ca64e ci: create new keysetcache
last commit updated which keys we serialize
2022-09-06 07:18:34 +01:00
rudy
4a6b9148d1 feat(github): auto cancel previous continuous-integration.yml run when a PR is updated 2022-09-02 09:08:15 +01:00
Quentin Bourgerie
c08a06ed8e chore: Just rename configuration variable to enable the dataflow runtime 2022-08-24 11:35:05 +02:00
youben11
5689d89e84 ci: update macos from 10.15 to 11
10.15 will be deprecated on GH actions by end of August
2022-08-19 16:20:05 +02:00
Ayoub Benaissa
acda882873 ci: fix target name for macos job 2022-07-19 12:18:09 +01:00
Quentin Bourgerie
2cfccd8f89 refactor: restructure the tests directory layout 2022-07-07 17:10:09 +02:00
youben11
5668e447e7 feat: support python 3.7 2022-07-07 09:55:44 +01:00
Quentin Bourgerie
f06957a197 tests(compiler): Add a benchmark tool builded thanks google-benchmarks 2022-06-27 16:45:56 +02:00
youben11
741710efa1 ci: auto rebase llvm if possible 2022-06-16 19:05:56 +01:00
youben11
26b8678f9f ci: update dockerfile name 2022-06-16 19:05:56 +01:00
Mayeul@Zama
928a44d243 chore(ci): enforce ending files with a newline 2022-06-16 17:04:25 +02:00
Andi Drebes
45577fb79e Rebase onto llvm-project f69328049e9e with local changes
This commit rebases the compiler onto commit f69328049e9e from
llvm-project.

Changes:

* Use of the one-shot bufferizer for improved memory management

* A new pass `OneShotBufferizeDPSWrapper` that converts functions
  returning tensors to destination-passing-style as required by the
  one-shot bufferizer

* A new pass `LinalgGenericOpWithTensorsToLoopsPass` that converts
  `linalg.generic` operations with value semantics to loop nests

* Rebase onto a fork of llvm-project at f69328049e9e with local
  modifications to enable bufferization of `linalg.generic` operations
  with value semantics

* Workaround for the absence of type propagation after type conversion
  via extra patterns in all dialect conversion passes

* Printer, parser and verifier definitions moved from inline
  declarations in ODS to the respective source files as required by
  upstream changes

* New tests for functions with a large number of inputs

* Increase the number of allowed task inputs as required by new tests

* Use upstream function `mlir_configure_python_dev_packages()` to
  locate Python development files for compatibility with various CMake
  versions

Co-authored-by: Quentin Bourgerie <quentin.bourgerie@zama.ai>
Co-authored-by: Ayoub Benaissa <ayoub.benaissa@zama.ai>
Co-authored-by: Antoniu Pop <antoniu.pop@zama.ai>
2022-06-14 14:35:25 +02:00
youben11
1354759884 chore: rename refs to main branch 2022-06-09 09:19:06 +01:00
Mayeul@Zama
ee64b68109 chore(optimier): use optimizer dependency as a submodule 2022-05-31 10:01:26 +02:00
youben11
0e717ea266 refactor(ci): avoid deuplications of if condition 2022-05-30 08:55:31 +01:00
youben11
852f2dbc35 ci: auto update compiler image if gcc/hpx rebuilt
reorder dependencies
2022-05-30 08:55:31 +01:00
rudy
eb1f5b1842 fix(keysetcache): use a portable hash function
will help to make macos faster on the ci
2022-05-06 10:00:11 +02:00
rudy
bd49cc9a48 fix(ci): compiling concrete-optimizer for release 2022-05-04 09:18:36 +02:00
rudy
ab8c22c6a0 fix(ci): BuildAndPushDockerImages should pre-compile concrete-optimizer 2022-05-03 15:55:00 +02:00
rudy
94a8f918d7 feat(ci): no KeySetCache download for full cache change 2022-05-03 11:12:24 +02:00
rudy
b45e469a44 feat(ci): macos, fix keysetcache use 2022-05-02 17:20:22 +02:00
rudy
923a1b58e1 feat(optimizer): plug online parameter estimation 2022-04-29 15:11:42 +02:00
rudy
c7bf93c388 feat(ci): macos, use compilation cache 2022-04-25 17:18:33 +02:00
rudy
c2d92b0132 feat(ci): pruning keysetcache content 2022-04-13 16:12:22 +02:00
rudy
9387b8793c feat(ci): clear ccache stats in docker image 2022-04-13 11:31:15 +02:00
rudy
2b6eb5f23d feat(ci): freeing some space
this is useful for commits changing many tests
this simply clear the docker cache
2022-04-13 11:12:33 +02:00
Antoniu Pop
b77865cdd6 tests: disable forking new processes for running python tests. 2022-04-11 15:05:22 +01:00
youben11
e6cb1f2073 tests: run parallel tests in separate processes
library compilation and execution failing the second time if not
2022-04-08 19:05:06 +01:00
youben11
0d043d0606 chore(tests): separate compiler out test from python
tests/python should include tests related to the python package
2022-04-08 19:05:06 +01:00