Skip to content

Conversation

@Lunderberg
Copy link
Contributor

The two implementations were largely identical, and had implementations that drifted apart, resulting in bugs such as #12852. This commit removes this duplication by writing Inverse in terms of NonSurjectiveInverse. The merged version of NonSurjectiveInverse contains bugfix #11841, that were previously present only in Inverse.

The two implementations were largely identical, and had
implementations that drifted apart, resulting in bugs such as
apache#12852.  This commit removes this
duplication by writing `Inverse` in terms of `NonSurjectiveInverse`.
The merged version of `NonSurjectiveInverse` contains bugfix
apache#11841, that were previously present
only in `Inverse`.
@Lunderberg Lunderberg requested a review from vinx13 September 26, 2022 13:28
@junrushao
Copy link
Member

CC @vinx13 @zxybazh

Copy link
Member

@zxybazh zxybazh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Eric, thanks for fixing the issue! The PR looks good to me. Can you please also add a regression test?

@junrushao junrushao merged commit 830ebc4 into apache:main Sep 26, 2022
@junrushao
Copy link
Member

Oh ooops! Sorry I merged it in prematurely without a regression test...Feel free to add one as a follow-up!

@Lunderberg Lunderberg deleted the index_map_dedup branch September 27, 2022 15:12
Lunderberg added a commit to Lunderberg/tvm that referenced this pull request Sep 27, 2022
Adds a regression test for using the `layout_rewrite` post-proc on a
buffer with an extent of one in at least one dimension, issue
apache#12852.  This bug was resolved as
part of the refactor in apache#12904, but
didn't have a regression test at that point.
@Lunderberg
Copy link
Contributor Author

No worries, regression test added in #12916.

Lunderberg added a commit to Lunderberg/tvm that referenced this pull request Sep 28, 2022
This is a fix for a bug introduced in
apache#12904.  Prior to then, an
exception was raised when the transformation wouldn't be bijective
over the transformed buffer's shape.  The PR replaced the bijective
check done as part of `DetectIterMap` with a check done on the
returned `padding_predicate`.  However, this check was not equivalent,
and some transformations could erroneously apply, rather than
raising an exception as being non-bijective.

This commit re-enables the bijectivity check in `DetectIterMap`, and
adds a test case for this behavior.
vinx13 pushed a commit that referenced this pull request Sep 28, 2022
…12916)

* [TIR][MetaSchedule] Add regression test for layout_rewrite extent=1

Adds a regression test for using the `layout_rewrite` post-proc on a
buffer with an extent of one in at least one dimension, issue
#12852.  This bug was resolved as
part of the refactor in #12904, but
didn't have a regression test at that point.

* Identified segfault and added test case
vinx13 pushed a commit that referenced this pull request Oct 14, 2022
This is a fix for a bug introduced in
#12904.  Prior to then, an
exception was raised when the transformation wouldn't be bijective
over the transformed buffer's shape.  The PR replaced the bijective
check done as part of `DetectIterMap` with a check done on the
returned `padding_predicate`.  However, this check was not equivalent,
and some transformations could erroneously apply, rather than
raising an exception as being non-bijective.

This commit re-enables the bijectivity check in `DetectIterMap`, and
adds a test case for this behavior.
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 10, 2022
This is a fix for a bug introduced in
apache#12904.  Prior to then, an
exception was raised when the transformation wouldn't be bijective
over the transformed buffer's shape.  The PR replaced the bijective
check done as part of `DetectIterMap` with a check done on the
returned `padding_predicate`.  However, this check was not equivalent,
and some transformations could erroneously apply, rather than
raising an exception as being non-bijective.

This commit re-enables the bijectivity check in `DetectIterMap`, and
adds a test case for this behavior.
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…ache#12904)

The two implementations were largely identical, and had
implementations that drifted apart, resulting in bugs such as
apache#12852.  This commit removes this
duplication by writing `Inverse` in terms of `NonSurjectiveInverse`.
The merged version of `NonSurjectiveInverse` contains bugfix
apache#11841, that were previously present
only in `Inverse`.
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…pache#12916)

* [TIR][MetaSchedule] Add regression test for layout_rewrite extent=1

Adds a regression test for using the `layout_rewrite` post-proc on a
buffer with an extent of one in at least one dimension, issue
apache#12852.  This bug was resolved as
part of the refactor in apache#12904, but
didn't have a regression test at that point.

* Identified segfault and added test case
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
This is a fix for a bug introduced in
apache#12904.  Prior to then, an
exception was raised when the transformation wouldn't be bijective
over the transformed buffer's shape.  The PR replaced the bijective
check done as part of `DetectIterMap` with a check done on the
returned `padding_predicate`.  However, this check was not equivalent,
and some transformations could erroneously apply, rather than
raising an exception as being non-bijective.

This commit re-enables the bijectivity check in `DetectIterMap`, and
adds a test case for this behavior.
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 this pull request may close these issues.

4 participants