Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing symbols for data access on inter-state edge #1433

Closed
edopao opened this issue Nov 17, 2023 · 0 comments · Fixed by #1434
Closed

Missing symbols for data access on inter-state edge #1433

edopao opened this issue Nov 17, 2023 · 0 comments · Fixed by #1434
Assignees

Comments

@edopao
Copy link
Collaborator

edopao commented Nov 17, 2023

Describe the bug
After uplift to dace v0.15, one SDFG which was working before started to show compilation errors. The latest DaCe is moving a data access to an inter-state edge. For the data-access, the symbols that define array strides are needed for code generation. The SDFG was validated, before and after the simplify pass, but it did not compile for CPU. When skipping the simplify pass, the compilation did work. The problem has been narrowed down to the scalar-to-symbol promotion, which is moving a data access to an inter-state edge. Then, the method _used_symbols_internal needs to be update to account for data containers, including symbolic shape and strides.

To Reproduce
The branch bug-missing-symbols contains a unit test to reproduce the issue, and the proposed fix.

Expected behavior
Not clear if the introduction of data access on an inter-state edge was expected, in the first place.

@edopao edopao self-assigned this Nov 17, 2023
@edopao edopao linked a pull request Nov 22, 2023 that will close this issue
BenWeber42 pushed a commit that referenced this issue Dec 5, 2023
After uplift to dace v0.15, one SDFG which was working before started to
show compilation errors. The latest DaCe is moving a data access to an
inter-state edge. For the data-access, the symbols that define array
strides are needed for code generation. The SDFG was validated, before
and after the simplify pass, but it did not compile for CPU. When
skipping the simplify pass, the compilation did work. The problem has
been narrowed down to the scalar-to-symbol promotion, which is moving a
data access to an inter-state edge. Then, the method
`_used_symbols_internal` needs to be update to account for data
containers, including symbolic shape and strides.

This issue was reported in #1433. This PR contains a unit test to
reproduce the issue and verify the proposed fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant