Invalid Cache State of Memlets
- Dominant language
- Python
- Stars
- 593
- Forks
- 163
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 60
Description
Memlets have two subset properties `subset` and `other_subset`.
While `subset` always refers to the data container the `data` attribute of the Memlet is pointing to, `other_subset` is option (it is also not super clear to me what `None` in this case means) and describes to "other" side of the connection.
However, `subset` does not necessarily describes the subset at the source of the connection nor the subset at the destination.
For this the properties `src_subset` and `dst_subset` are provided, that takes the direction into account.
However, this information is sometimes outdated and to overcome it `try_initialize()` of the Memlet must be called.
In addition there are also `get_{src, dst}_subset()` which first call `try_initialize()`.
In order to make [PR#1678](https://github.com/spcl/dace/pull/1678) work, we had to call `try_initialize()` on all edges in the state, which is a very expensive operation.
Contributor guide
Assessment
This issue has not been assessed yet.