-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[Arith] DetectIterMap support overlapped iteration sum #12039
Merged
Hzfengsy
merged 1 commit into
apache:main
from
wrongtest-intellif:support_overlapped_itersum
Jul 19, 2022
Merged
[Arith] DetectIterMap support overlapped iteration sum #12039
Hzfengsy
merged 1 commit into
apache:main
from
wrongtest-intellif:support_overlapped_itersum
Jul 19, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b02c721
to
52ea3ca
Compare
cc @vinx13 @spectrometerHBH @Hzfengsy |
Could you please take a look at it? @spectrometerHBH |
spectrometerHBH
approved these changes
Jul 19, 2022
gigiblender
added a commit
to gigiblender/tvm
that referenced
this pull request
Jul 19, 2022
This reverts commit 3e7a2ad.
kparzysz-quic
pushed a commit
that referenced
this pull request
Jul 19, 2022
This caused the CI to fail and was therefore reverted by #12137. |
Hzfengsy
pushed a commit
that referenced
this pull request
Jul 20, 2022
wrongtest-intellif
added a commit
that referenced
this pull request
Aug 30, 2022
wrongtest-intellif
pushed a commit
that referenced
this pull request
Aug 30, 2022
wrongtest-intellif
added a commit
that referenced
this pull request
Aug 30, 2022
xinetzone
pushed a commit
to daobook/tvm
that referenced
this pull request
Nov 25, 2022
xinetzone
pushed a commit
to daobook/tvm
that referenced
this pull request
Nov 25, 2022
This reverts commit 3e7a2ad.
xinetzone
pushed a commit
to daobook/tvm
that referenced
this pull request
Nov 25, 2022
mikeseven
pushed a commit
to mikeseven/tvm
that referenced
this pull request
Sep 27, 2023
mikeseven
pushed a commit
to mikeseven/tvm
that referenced
this pull request
Sep 27, 2023
This reverts commit 3e7a2ad.
mikeseven
pushed a commit
to mikeseven/tvm
that referenced
this pull request
Sep 27, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The change wants to support detect non-bijective iteration sum like
h + kh
or4 * i + j, j in [0, 6)
etc. Previously they would not passDetectIterMap
either in bijective or surjective mode.IIUC, one of the
DetectIterMap
's main concentration is on iteration bindings which can perfectly split/fuse from loop index vars, however, there are also a wider range of applications on memory access indices analysis and non-perfect tilings. Thus it would be great that certain index patterns could also get supported. For example,h + kh
: an index pattern common in stride=1 convolution or poolings.4 * co + ci
,ci
's extent is larger thanco
's scale: typically occurs in overlapped input tiles.Currently they are not supported in
TryFuseIters
routine ofDetectIterMap
, since scales are strictly checked here. If we have4 * co + ci
, theci
's extent must be 4 to match next iter(co
)'s scale. The PR try to relax it in surjective mode.For example, the iteration sequence of
4 * co + ci
(co
in [0, 3),ci
in [0, 5)) could be:0, 1, 2, 3, 4; 4, 5, 6, 7, 8; 8, 9, 10, 11, 12
Thus it is "surjective" on range [0, 3 * 4 + 1) = [0, 13).
For the existing cases, the effects seems to be:
i + j
patterns, they now get handled differently, which affects expected block binding expression.