-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Change warmup strategy for sliding window #5755
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
Merged
Merged
Changes from all commits
Commits
Show all changes
160 commits
Select commit
Hold shift + click to select a range
714eaee
Implement sliding window warmups by backing up the loop min.
dsharletg 5bfc8f4
Fix indirect sliding windows.
dsharletg 1108c20
Improve is_monotonic.
dsharletg 231b2ba
Small cleanups.
dsharletg 626b4bd
Avoid generating vector valued bounds.
dsharletg bbf0e6c
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 78a6dc5
Fix build error on some compilers.
dsharletg 27a3239
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 521ab9b
Fix loop bounds.
dsharletg ad04086
Don't try to slide things that should just be compute_at the store_at…
dsharletg 696b05c
Print condition when printing boxes.
dsharletg 7115acb
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 899bbaf
Less things broken.
dsharletg 58e10f2
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 896808d
Add/fix comments.
dsharletg c1a9e98
Comments
dsharletg fb5a2a0
Fix async by moving if inside consume (and so inside acquires).
dsharletg 3b0ea78
Fix division.
dsharletg 067b2cf
This doesn't work on master either.
dsharletg 4ad0214
Add TODO
dsharletg e3e17f4
Acquire is not a no-op.
dsharletg bf94364
Add comment about unfortunate simplification.
dsharletg 93e7162
Remove debug(0)
dsharletg 2cfd0b4
Add simplification of for { acquire { noop } }
dsharletg 76afb2b
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg ad949e8
Fix folding factors finally!
dsharletg ab1e689
Update storage_folding test.
dsharletg 4e1768f
Fix bug when cloning a semaphore used more than once.
dsharletg 094ab25
Disable failing test.
dsharletg ada0bc6
Work around bad complexity in is_monotonic.
dsharletg f2a12a6
Fix sub bug
dsharletg 22f4213
Significantly faster schedule for blur.
dsharletg 710c48d
Update tracing test.
dsharletg 5471d0e
New simplifications that help with upsampled and downsampled sliding …
dsharletg 2dd47d2
This doesn't need explicit folding any more.
dsharletg 95374ec
Fix new simplifier rules.
dsharletg cf6d436
Fix simplifier div rule
dsharletg 9591baa
Remove ancient brittle test.
dsharletg adedac1
Fix simplify rule again
dsharletg b2a90f3
More LT -> EQ rules for mod
dsharletg 4422d02
Fix nested sliding windows with upsamples.
dsharletg d9baccb
Replace hack with better solution.
dsharletg f1030c5
Add missing override
abadams e45963d
Merge branch 'dsharletg/sliding-window' of github.com:halide/Halide i…
dsharletg 8f64734
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 07fd14c
Don't rewrite loop variable if the min doesn't change.
dsharletg 6cd6601
Refactor sliding window lowering.
dsharletg b543bb6
Fixed bounds growing redundantly for independent producers.
dsharletg db89dec
Don't take the union unless possibly needed.
dsharletg 35cd9f9
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg c1e94ee
Respect conditional provide/required.
dsharletg 7375067
Add missing overrides
dsharletg e4518e9
Much better schedule.
dsharletg 3ee34b7
Use a smaller image for blur benchmarking so that different schedules…
abadams a7f90c9
Replace Interval with ConstantInterval for is_monotonic.
dsharletg c6463f8
Merge branch 'dsharletg/sliding-window' of github.com:halide/Halide i…
dsharletg 32caa31
Don't try to handle unsigned deltas.
dsharletg d63d5f1
Add failing test.
dsharletg 89905d2
Remove unused new code.
dsharletg f90f12f
Remove weird debugging code.
dsharletg d57ce80
Avoid expanding bounds of split producers
dsharletg a5a2d3b
Remove stray likely_if_innermost.
dsharletg 0f597f9
Remove old autotune tests.
dsharletg e0d1db7
Update test for guarded producers.
dsharletg abd4604
Reenable test.
dsharletg c22be02
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 45a087a
Update trace for guarding producers.
dsharletg 8a74d4d
Don't overwrite required.used
dsharletg 54a9577
Handle LE/LT in bounds of lanes in vectorize
abadams 8adeb87
Merge branch 'dsharletg/sliding-window' of https://github.com/halide/…
abadams db8dcf5
Fix acquire and release of warmups
dsharletg e0895be
Earlier fix for multiply cloned acquires was wrong.
dsharletg 75b9117
Handle nested vectorization.
dsharletg e18cb63
clang-format
dsharletg 952e6d6
Remove autotune_bug_* tests
dsharletg 1539749
Fix shadowing error on some compilers.
dsharletg 3d0d136
Appease overzealous clang-tidy warning.
dsharletg b77d152
clang-format
dsharletg 9257768
Don't use silly hack.
dsharletg 967bebb
clang-tidy...
dsharletg c8ce21d
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 5130cde
It's no longer safe to assume monotonic means bounds_of_expr_in_scope…
abadams 4a06724
Address review comments
dsharletg 8994381
Merge branch 'dsharletg/sliding-window' of github.com:halide/Halide i…
dsharletg 2c65818
Add comment
dsharletg 31d95a7
Add missing override.
dsharletg f1765a1
Fix constant interval issues.
dsharletg 1069d33
Revert and remove empty interval
dsharletg 2efbe3f
Fix multiply!?
dsharletg d366408
Reduce need for simplifications.
dsharletg d4b9b38
Simplifications from dsharletg/sliding-window branch
dsharletg 159fe4e
Merge branch 'dsharletg/simplify' into dsharletg/sliding-window
dsharletg 088bf42
Don't learn likely(x) and x.
dsharletg 8336761
Add comment
dsharletg 93a3615
Merge branch 'dsharletg/simplify' into dsharletg/sliding-window
dsharletg 594d02d
Add some min/max rules.
dsharletg 455fe18
Also substitute facts from asserts
dsharletg c644ff9
Remove is_empty from header too.
dsharletg 49ad245
More rules
dsharletg 34715e5
Add double stairstep rule.
dsharletg 290a076
Disable rule that uncovers bugs.
dsharletg 03efb3f
Consider anded expressions as if they were independent nested ifs.
dsharletg cf04409
Add promise_clamped to producer guards.
dsharletg e014add
Revert "Consider anded expressions as if they were independent nested…
dsharletg 9658259
Don't combine ifs, split them instead.
dsharletg 4b64146
Update trace
dsharletg 5573d78
clang-tidy/clang-format
dsharletg d4932fb
Remove splitting of ifs, it breaks brittle tests.
dsharletg e5d7b23
Safer check on old conditions.
dsharletg f35b63e
Fix producer guard condition.
dsharletg cf4efc1
Interval fixes.
dsharletg 6dc8834
Handle sliding backwards
dsharletg a99f2dd
Handle transitive dependencies.
dsharletg 08a1cca
Backport abadams' fix from abadams/slide_over_split_loop
dsharletg 28be1d0
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 37bed40
Fix select visitor.
dsharletg ff6b936
More simplifier rules.
dsharletg cd60ef8
Bring back old logic as a fallback.
dsharletg 013c522
Avoid specializations corrupting sliding
dsharletg 2af11b9
Fix boneheaded rule errors.
dsharletg abd65e5
Fix slightly conservative bounds at the max for split case.
dsharletg 4e0cd8a
This pattern is too sensitive to the simplifier. In a real use case, …
dsharletg 7b1e441
Add missing clamp rule
dsharletg 80d825c
Don't count unlikely loops as inner loops for likely_if_innermost
abadams 78767bb
Use <= instead of == to solve for the new loop min
abadams e574e3b
Verify simplifier changes and add variants as suggested by synthesizer
abadams 322ab62
Make implicit assumption explicit, for clarity
abadams 27354a3
Use find_constant_bounds
dsharletg 9901cdd
Merge branch 'dsharletg/sliding-window' of github.com:halide/Halide i…
dsharletg b297507
Guard against expanded bounds more effectively.
dsharletg 64c9be3
Update tracing test
dsharletg fe9f18b
Small cleanup.
dsharletg 9a4d1e1
Don't simplify/prove using lets that might change value.
dsharletg ca848dc
Stronger solving without expanding lets.
dsharletg aaafa20
New simplifier rule for alignment
dsharletg 59706e9
Fix case where no warmup needed
dsharletg b50b936
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg b85e293
Add some useful rules.
dsharletg e32806c
Add safety check on when we can use the new loop min.
dsharletg b4f640b
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 07711d4
Better proof to avoid hacky condition that is hard to prove.
dsharletg b90bfd4
Small cleanup and use the nice new folding factors.
dsharletg 686e781
Bring back unrolled producer test.
dsharletg 439e200
clang-format
dsharletg 79e05a1
Expand comment.
dsharletg b16b285
Fix sliding backwards condition.
dsharletg 1aca038
min(new_loop_min, loop_min) isn't needed any more.
dsharletg f3dd3cc
We need that min, but we can be more conservative about it.
dsharletg e104484
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 4dc8820
Stronger handling of previous loop mins.
dsharletg e59cf57
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 8f0a0ca
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg 4be9feb
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg dad4379
Remove unused is_monotonic_strong.
dsharletg da256bc
Remove ConstantInterval::make_intersection.
dsharletg f85ac93
Avoid need to handle uint specially.
dsharletg aae1966
Merge branch 'master' of github.com:halide/Halide into dsharletg/slid…
dsharletg c5d23bd
Add cache for depends_on.
dsharletg f036b4e
Reduce unnecessarily large cache scope
dsharletg 929b6c9
The first part of the key is always the same
dsharletg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.