-
Notifications
You must be signed in to change notification settings - Fork 0
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
[MetaSchedule] Add search rule "RuleAddRfactor" #306
[MetaSchedule] Add search rule "RuleAddRfactor" #306
Conversation
Now I'm gonna take some time to fix bugs in tir::rfactor. |
6d2f93b
to
469ed10
Compare
469ed10
to
be060f3
Compare
I just finished my self-review. It looks to me now. @junrushao1994 Would you like to review this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution! Could notice your coding style getting much better and please keep up with the awesome progress! I am going to get a second round of review tomorrow morning
Array<Optional<PrimExpr>> factors = AsOptArray<tir::Var, PrimExpr>( | ||
sch->SamplePerfectTile(ax, tile_level, max_innermost_factor)); | ||
tiled_outer_iters.push_back(sch->Split(ax, factors)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Array<Optional<PrimExpr>> factors = AsOptArray<tir::Var, PrimExpr>( | |
sch->SamplePerfectTile(ax, tile_level, max_innermost_factor)); | |
tiled_outer_iters.push_back(sch->Split(ax, factors)); | |
Array<tir::Var> factors = sch->SamplePerfectTile(ax, tile_level, max_innermost_factor)); | |
tiled_outer_iters.push_back(sch->Split(ax, AsOptArray<tir::Var, PrimExpr>(factors))); |
b3384e9
to
a6845b4
Compare
Thanks @junrushao1994 for his excellent review! |
* [MetaSchedule] change after refactor * [MetaSchedule] fix typo * [MetaSchedule] add rule "AddRfactor" * [MetaSchedule] Move "NeedsInline" * [MetaSchedule] Update "NeedsRfactor" * [MetaSchedule] add reorder * [MetaSchedule] LoopNode -> ForNode after rebasing * [MetaSchedule] simply fix some ce after rebasing * [MetaSchedule] little refactor * [MetaSchedule] use `Schedule::Copy` to make copy * fix ce after rebasing * [MetaSchedule] use SamplePerfectTile. Successfully align! * [MetaSchedule] rename * [MetaSchedule] add the original schedule * [MetaSchedule] move helper functions * sorry... * [MetaSchedule] optimize imports * [MetaSchedule] refactor & document & use TVM_SREF_TO_BLOCK/FOR * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] rebase
* [MetaSchedule] change after refactor * [MetaSchedule] fix typo * [MetaSchedule] add rule "AddRfactor" * [MetaSchedule] Move "NeedsInline" * [MetaSchedule] Update "NeedsRfactor" * [MetaSchedule] add reorder * [MetaSchedule] LoopNode -> ForNode after rebasing * [MetaSchedule] simply fix some ce after rebasing * [MetaSchedule] little refactor * [MetaSchedule] use `Schedule::Copy` to make copy * fix ce after rebasing * [MetaSchedule] use SamplePerfectTile. Successfully align! * [MetaSchedule] rename * [MetaSchedule] add the original schedule * [MetaSchedule] move helper functions * sorry... * [MetaSchedule] optimize imports * [MetaSchedule] refactor & document & use TVM_SREF_TO_BLOCK/FOR * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] rebase
* [MetaSchedule] change after refactor * [MetaSchedule] fix typo * [MetaSchedule] add rule "AddRfactor" * [MetaSchedule] Move "NeedsInline" * [MetaSchedule] Update "NeedsRfactor" * [MetaSchedule] add reorder * [MetaSchedule] LoopNode -> ForNode after rebasing * [MetaSchedule] simply fix some ce after rebasing * [MetaSchedule] little refactor * [MetaSchedule] use `Schedule::Copy` to make copy * fix ce after rebasing * [MetaSchedule] use SamplePerfectTile. Successfully align! * [MetaSchedule] rename * [MetaSchedule] add the original schedule * [MetaSchedule] move helper functions * sorry... * [MetaSchedule] optimize imports * [MetaSchedule] refactor & document & use TVM_SREF_TO_BLOCK/FOR * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] rebase
* [MetaSchedule] change after refactor * [MetaSchedule] fix typo * [MetaSchedule] add rule "AddRfactor" * [MetaSchedule] Move "NeedsInline" * [MetaSchedule] Update "NeedsRfactor" * [MetaSchedule] add reorder * [MetaSchedule] LoopNode -> ForNode after rebasing * [MetaSchedule] simply fix some ce after rebasing * [MetaSchedule] little refactor * [MetaSchedule] use `Schedule::Copy` to make copy * fix ce after rebasing * [MetaSchedule] use SamplePerfectTile. Successfully align! * [MetaSchedule] rename * [MetaSchedule] add the original schedule * [MetaSchedule] move helper functions * sorry... * [MetaSchedule] optimize imports * [MetaSchedule] refactor & document & use TVM_SREF_TO_BLOCK/FOR * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] fix comments * [MetaSchedule] rebase
WIP