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
I think this could cause kernels to compare equal that we emphatically wouldn't consider equal. I think what we want is wrapper objects that provides the names and consider them for equality, likely implemented in islpy.
I was thinking I could make a quick PR to loopy which would also add the condition bkt_set.get_var_dict() == set_.get_var_dict(), but the problem is deeper as inducer/loopy#576 points :/. I guess decoupling loopy's ISL usage from relying on dim-names seems the only (practical) option. The other (dirty) option is to make loopy depend on a different islpy that overrides isl_xxx_is_equal.
What to do here is a good question.
My thinking was that we could likely introduce wrapper types around the islpy ones that make names matter for equality. Loopy does not use many types or operations in isl, so this seems somewhat feasible. It would perhaps also allow remedying isl's overly strict Map/Set distinction.
cf. inducer/islpy#89
I think this could cause kernels to compare equal that we emphatically wouldn't consider equal. I think what we want is wrapper objects that provides the names and consider them for equality, likely implemented in islpy.
Here's an example of this going wrong:
Runs without complaining on 4a9dabb. 😱
The text was updated successfully, but these errors were encountered: