Machine Learning Integration for DaCe (Autodiff - ONNX - PyTorch) #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Machine Learning and Autodiff Tests | |
| on: | |
| push: | |
| branches: [ main, ci-fix ] | |
| pull_request: | |
| branches: [ main, ci-fix ] | |
| merge_group: | |
| branches: [ main, ci-fix ] | |
| concurrency: | |
| group: ${{github.workflow}}-${{github.ref}} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| if: "!contains(github.event.pull_request.labels.*.name, 'no-ci')" | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.9','3.13'] | |
| simplify: [0,1,autoopt] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libyaml-dev cmake | |
| sudo apt-get install -y libblas-dev libopenblas-dev liblapacke-dev | |
| sudo apt-get install -y libpapi-dev papi-tools # Instrumentation dependencies | |
| sudo apt-get install -y verilator # RTL simulation dependencies | |
| python -m pip install --upgrade pip | |
| pip install flake8 pytest-xdist coverage | |
| pip install -e ".[testing,ml]" | |
| curl -Os https://uploader.codecov.io/latest/linux/codecov | |
| chmod +x codecov | |
| - name: Test dependencies | |
| run: | | |
| papi_avail | |
| - name: Test with pytest | |
| run: | | |
| export NOSTATUSBAR=1 | |
| export DACE_testing_serialization=1 | |
| export DACE_testing_deserialize_exception=1 | |
| export DACE_cache=unique | |
| if [ "${{ matrix.simplify }}" = "autoopt" ]; then | |
| export DACE_optimizer_automatic_simplification=1 | |
| export DACE_optimizer_autooptimize=1 | |
| echo "Auto-optimization heuristics" | |
| else | |
| export DACE_optimizer_automatic_simplification=${{ matrix.simplify }} | |
| fi | |
| pytest -n auto --cov-report=xml --cov=dace --tb=short --timeout_method thread --timeout=300 -v -m "torch or onnx or autodiff and not gpu" | |
| ./codecov | |
| - uses: codecov/codecov-action@v4 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| verbose: true |