`nest_sdfg_subgraphs` fails on interstate symbols
- Dominant language
- Python
- Stars
- 593
- Forks
- 163
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 60
Description
The helper function `nest_sdfg_subgraphs` from `dace.transformation.helpers` assumes symbols in interstate edges' `assigments` dictionary are present in symbols (but they not necessariliy are). E.g. this snippet reproduces the error.
```
import dace
from dace.transformation.helpers import nest_sdfg_subgraph
sdfg = dace.SDFG('testsdfg')
sdfg.add_loop(
sdfg.add_state('before_state'),
sdfg.add_state('loop_state'),
sdfg.add_state('after_state'),
loop_var='k',
initialize_expr='0',
condition_expr='1<2', # <- avoid having k on the value side of the assignments dict
increment_expr='1',# <- avoid having k on the value side of the assignments dict
)
sdfg.validate()
subgraph = dace.sdfg.graph.SubgraphView(sdfg, sdfg.states())
nest_sdfg_subgraph(sdfg, subgraph=subgraph)
```
Contributor guide
Assessment
This issue has not been assessed yet.