You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 work, we had to call try_initialize() on all edges in the state, which is a very expensive operation.
The text was updated successfully, but these errors were encountered:
The interpretation of other_subset deserves at least a detailed doc-string at this point, in my opinion.
Do you recall what happened before using try_initialize()?
I've been trying to see when _is_data_src field is None when calling src_subset and dst_subset. So far, the only time that happens when two memlets are compared with == or != in newast.py or propagation.py etc. files that work with partly initialized graph anyway (because they are building it).
Turns out they could just just be compared with is and is not --- as far as I can tell, the tests do not fail that way. But that is an entirely different comparison.
Memlets have two subset properties
subset
andother_subset
.While
subset
always refers to the data container thedata
attribute of the Memlet is pointing to,other_subset
is option (it is also not super clear to me whatNone
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
anddst_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 calltry_initialize()
.In order to make PR#1678 work, we had to call
try_initialize()
on all edges in the state, which is a very expensive operation.The text was updated successfully, but these errors were encountered: