Skip to content

Commit

Permalink
feat[next]: Upgrade dace dependency to v1.0.0 (#1740)
Browse files Browse the repository at this point in the history
DaCe version upgraded to `1.0.0`. It is also constrained to `< 1.1.0
`because the plan for DaCe v1.x is to introduce some breaking changes.

GPU tests still fail with GTIR DaCe backend (`test_double_use_scalar`)
so they will be enabled in a separate PR.

Additional changes:
- Removed limitation on SymPy version since DaCe is now compatible with
SymPy v1.13
- CUDA version upgraded from 11.2 to 11.4 to avoid this compile error in
gpu build:
`dace/codegen/../runtime/include/dace/math.h(499): error: A __device__
variable cannot be marked constexpr`
  • Loading branch information
edopao authored Nov 18, 2024
1 parent a00154a commit a9a9992
Show file tree
Hide file tree
Showing 7 changed files with 16 additions and 23 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ repos:
## version = re.search('ruff==([0-9\.]*)', open("constraints.txt").read())[1]
## print(f"rev: v{version}")
##]]]
rev: v0.7.3
rev: v0.7.4
##[[[end]]]
hooks:
# Run the linter.
Expand Down
2 changes: 1 addition & 1 deletion ci/cscs-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ stages:
.build_baseimage_x86_64:
extends: [.container-builder-cscs-zen2, .build_baseimage]
variables:
CUDA_VERSION: 11.2.2
CUDA_VERSION: 11.4.3
CUPY_PACKAGE: cupy-cuda11x
CUPY_VERSION: 12.3.0 # latest version that supports cuda 11
UBUNTU_VERSION: 20.04 # 22.04 hangs on daint in some tests for unknown reasons.
Expand Down
13 changes: 6 additions & 7 deletions constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ contourpy==1.1.1 # via matplotlib
coverage==7.6.1 # via -r requirements-dev.in, pytest-cov
cycler==0.12.1 # via matplotlib
cytoolz==1.0.0 # via gt4py (pyproject.toml)
dace==0.16.1 # via gt4py (pyproject.toml)
dace==1.0.0 # via gt4py (pyproject.toml)
darglint==1.8.1 # via -r requirements-dev.in
debugpy==1.8.8 # via ipykernel
decorator==5.1.1 # via ipython
Expand All @@ -50,7 +50,7 @@ factory-boy==3.3.1 # via gt4py (pyproject.toml), pytest-factoryboy
faker==33.0.0 # via factory-boy
fastjsonschema==2.20.0 # via nbformat
filelock==3.16.1 # via tox, virtualenv
fonttools==4.54.1 # via matplotlib
fonttools==4.55.0 # via matplotlib
fparser==0.1.4 # via dace
frozendict==2.4.6 # via gt4py (pyproject.toml)
gitdb==4.0.11 # via gitpython
Expand All @@ -67,7 +67,7 @@ iniconfig==2.0.0 # via pytest
ipykernel==6.29.5 # via nbmake
ipython==8.12.3 # via ipykernel
jedi==0.19.2 # via ipython
jinja2==3.1.4 # via dace, gt4py (pyproject.toml), sphinx
jinja2==3.1.4 # via gt4py (pyproject.toml), sphinx
jsonschema==4.23.0 # via nbformat
jsonschema-specifications==2023.12.1 # via jsonschema
jupyter-client==8.6.3 # via ipykernel, nbclient
Expand Down Expand Up @@ -95,7 +95,7 @@ ninja==1.11.1.1 # via gt4py (pyproject.toml)
nodeenv==1.9.1 # via pre-commit
numpy==1.24.4 # via contourpy, dace, gt4py (pyproject.toml), matplotlib, scipy
orderly-set==5.2.2 # via deepdiff
packaging==24.2 # via black, build, gt4py (pyproject.toml), ipykernel, jupytext, matplotlib, pipdeptree, pyproject-api, pytest, pytest-factoryboy, setuptools-scm, sphinx, tox
packaging==24.2 # via black, build, dace, gt4py (pyproject.toml), ipykernel, jupytext, matplotlib, pipdeptree, pyproject-api, pytest, pytest-factoryboy, setuptools-scm, sphinx, tox
parso==0.8.4 # via jedi
pathspec==0.12.1 # via black
pexpect==4.9.0 # via ipython
Expand Down Expand Up @@ -139,7 +139,7 @@ requests==2.32.3 # via sphinx
rich==13.9.4 # via bump-my-version, rich-click, tach
rich-click==1.8.4 # via bump-my-version
rpds-py==0.20.1 # via jsonschema, referencing
ruff==0.7.3 # via -r requirements-dev.in
ruff==0.7.4 # via -r requirements-dev.in
scipy==1.10.1 # via gt4py (pyproject.toml)
setuptools-scm==8.1.0 # via fparser
six==1.16.0 # via asttokens, astunparse, python-dateutil
Expand All @@ -157,7 +157,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx
sphinxcontrib-serializinghtml==1.1.5 # via sphinx
stack-data==0.6.3 # via ipython
stdlib-list==0.10.0 # via tach
sympy==1.12.1 # via dace, gt4py (pyproject.toml)
sympy==1.13.3 # via dace
tabulate==0.9.0 # via gt4py (pyproject.toml)
tach==0.14.3 # via -r requirements-dev.in
tomli==2.1.0 ; python_version < "3.11" # via -r requirements-dev.in, black, build, coverage, jupytext, mypy, pip-tools, pyproject-api, pytest, setuptools-scm, tach, tox
Expand All @@ -173,7 +173,6 @@ urllib3==2.2.3 # via requests
virtualenv==20.27.1 # via pre-commit, tox
wcmatch==10.0 # via bump-my-version
wcwidth==0.2.13 # via prompt-toolkit
websockets==13.1 # via dace
wheel==0.45.0 # via astunparse, pip-tools
xxhash==3.0.0 # via gt4py (pyproject.toml)
zipp==3.20.2 # via importlib-metadata, importlib-resources
Expand Down
3 changes: 1 addition & 2 deletions min-extra-requirements-test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ cmake==3.22
cogapp==3.3
coverage[toml]==5.0
cytoolz==0.12.1
dace==0.16.1
dace==1.0.0
darglint==1.6
deepdiff==5.6.0
devtools==0.6
Expand Down Expand Up @@ -101,7 +101,6 @@ scipy==1.9.2
setuptools==65.5.0
sphinx==4.4
sphinx_rtd_theme==1.0
sympy==1.9
tabulate==0.8.10
tach==0.10.7
tomli==2.0.1; python_version < "3.11"
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ all-cuda12 = ['gt4py[cuda12,dace,formatting,jax-cuda12,performance,testing]']
# Other extras
cuda11 = ['cupy-cuda11x>=12.0']
cuda12 = ['cupy-cuda12x>=12.0']
dace = ['dace>=0.16.1', 'sympy>=1.9,<1.13'] # see https://github.com/spcl/dace/pull/1620
dace = ['dace>=1.0.0,<1.1.0'] # v1.x will contain breaking changes, see https://github.com/spcl/dace/milestone/4
formatting = ['clang-format>=9.0']
gpu = ['cupy>=12.0']
jax-cpu = ['jax[cpu]>=0.4.18; python_version>="3.10"']
Expand Down
13 changes: 6 additions & 7 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ contourpy==1.1.1 # via -c constraints.txt, matplotlib
coverage[toml]==7.6.1 # via -c constraints.txt, -r requirements-dev.in, pytest-cov
cycler==0.12.1 # via -c constraints.txt, matplotlib
cytoolz==1.0.0 # via -c constraints.txt, gt4py (pyproject.toml)
dace==0.16.1 # via -c constraints.txt, gt4py (pyproject.toml)
dace==1.0.0 # via -c constraints.txt, gt4py (pyproject.toml)
darglint==1.8.1 # via -c constraints.txt, -r requirements-dev.in
debugpy==1.8.8 # via -c constraints.txt, ipykernel
decorator==5.1.1 # via -c constraints.txt, ipython
Expand All @@ -50,7 +50,7 @@ factory-boy==3.3.1 # via -c constraints.txt, gt4py (pyproject.toml), pyte
faker==33.0.0 # via -c constraints.txt, factory-boy
fastjsonschema==2.20.0 # via -c constraints.txt, nbformat
filelock==3.16.1 # via -c constraints.txt, tox, virtualenv
fonttools==4.54.1 # via -c constraints.txt, matplotlib
fonttools==4.55.0 # via -c constraints.txt, matplotlib
fparser==0.1.4 # via -c constraints.txt, dace
frozendict==2.4.6 # via -c constraints.txt, gt4py (pyproject.toml)
gitdb==4.0.11 # via -c constraints.txt, gitpython
Expand All @@ -67,7 +67,7 @@ iniconfig==2.0.0 # via -c constraints.txt, pytest
ipykernel==6.29.5 # via -c constraints.txt, nbmake
ipython==8.12.3 # via -c constraints.txt, ipykernel
jedi==0.19.2 # via -c constraints.txt, ipython
jinja2==3.1.4 # via -c constraints.txt, dace, gt4py (pyproject.toml), sphinx
jinja2==3.1.4 # via -c constraints.txt, gt4py (pyproject.toml), sphinx
jsonschema==4.23.0 # via -c constraints.txt, nbformat
jsonschema-specifications==2023.12.1 # via -c constraints.txt, jsonschema
jupyter-client==8.6.3 # via -c constraints.txt, ipykernel, nbclient
Expand Down Expand Up @@ -95,7 +95,7 @@ ninja==1.11.1.1 # via -c constraints.txt, gt4py (pyproject.toml)
nodeenv==1.9.1 # via -c constraints.txt, pre-commit
numpy==1.24.4 # via -c constraints.txt, contourpy, dace, gt4py (pyproject.toml), matplotlib
orderly-set==5.2.2 # via -c constraints.txt, deepdiff
packaging==24.2 # via -c constraints.txt, black, build, gt4py (pyproject.toml), ipykernel, jupytext, matplotlib, pipdeptree, pyproject-api, pytest, pytest-factoryboy, setuptools-scm, sphinx, tox
packaging==24.2 # via -c constraints.txt, black, build, dace, gt4py (pyproject.toml), ipykernel, jupytext, matplotlib, pipdeptree, pyproject-api, pytest, pytest-factoryboy, setuptools-scm, sphinx, tox
parso==0.8.4 # via -c constraints.txt, jedi
pathspec==0.12.1 # via -c constraints.txt, black
pexpect==4.9.0 # via -c constraints.txt, ipython
Expand Down Expand Up @@ -139,7 +139,7 @@ requests==2.32.3 # via -c constraints.txt, sphinx
rich==13.9.4 # via -c constraints.txt, bump-my-version, rich-click, tach
rich-click==1.8.4 # via -c constraints.txt, bump-my-version
rpds-py==0.20.1 # via -c constraints.txt, jsonschema, referencing
ruff==0.7.3 # via -c constraints.txt, -r requirements-dev.in
ruff==0.7.4 # via -c constraints.txt, -r requirements-dev.in
setuptools-scm==8.1.0 # via -c constraints.txt, fparser
six==1.16.0 # via -c constraints.txt, asttokens, astunparse, python-dateutil
smmap==5.0.1 # via -c constraints.txt, gitdb
Expand All @@ -156,7 +156,7 @@ sphinxcontrib-qthelp==1.0.3 # via -c constraints.txt, sphinx
sphinxcontrib-serializinghtml==1.1.5 # via -c constraints.txt, sphinx
stack-data==0.6.3 # via -c constraints.txt, ipython
stdlib-list==0.10.0 # via -c constraints.txt, tach
sympy==1.12.1 # via -c constraints.txt, dace, gt4py (pyproject.toml)
sympy==1.13.3 # via -c constraints.txt, dace
tabulate==0.9.0 # via -c constraints.txt, gt4py (pyproject.toml)
tach==0.14.3 # via -c constraints.txt, -r requirements-dev.in
tomli==2.1.0 ; python_version < "3.11" # via -c constraints.txt, -r requirements-dev.in, black, build, coverage, jupytext, mypy, pip-tools, pyproject-api, pytest, setuptools-scm, tach, tox
Expand All @@ -172,7 +172,6 @@ urllib3==2.2.3 # via -c constraints.txt, requests
virtualenv==20.27.1 # via -c constraints.txt, pre-commit, tox
wcmatch==10.0 # via -c constraints.txt, bump-my-version
wcwidth==0.2.13 # via -c constraints.txt, prompt-toolkit
websockets==13.1 # via -c constraints.txt, dace
wheel==0.45.0 # via -c constraints.txt, astunparse, pip-tools
xxhash==3.0.0 # via -c constraints.txt, gt4py (pyproject.toml)
zipp==3.20.2 # via -c constraints.txt, importlib-metadata, importlib-resources
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,12 @@ class LoopBlocking(dace_transformation.SingleStateTransformation):
dtype=set,
allow_none=True,
default=None,
optional=True,
optional_condition=lambda _: False,
desc="Set of nodes that are independent of the blocking parameter.",
)
dependent_nodes = dace_properties.Property(
dtype=set,
allow_none=True,
default=None,
optional=True,
optional_condition=lambda _: False,
desc="Set of nodes that are dependent on the blocking parameter.",
)

Expand Down

0 comments on commit a9a9992

Please sign in to comment.