-
Notifications
You must be signed in to change notification settings - Fork 446
[Enhancement] Enhance register vectorize inference #1785
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
Conversation
|
👋 Hi! Thank you for contributing to the TileLang project. Please remember to run We appreciate you taking this step! Our team will review your contribution, and we look forward to your awesome work! 🚀 |
📝 WalkthroughWalkthroughRenamed Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@src/transform/loop_vectorize.cc`:
- Around line 293-298: The check uses loop_extent_vector_size_ (a gcd) when
calling IndiceCanVectorize, which can under-report the loop extent and yield
false positives; change the call to pass the full loop extent used by
ComputeBufferVectorSize instead of loop_extent_vector_size_ so
IndiceCanVectorize validates all vector blocks; update the conditional around
IsExprInvariantInVectorBoundary and IndiceCanVectorize for elem_offset,
inner_for_->loop_var, vector_size_ to use the real extent value consistent with
ComputeBufferVectorSize.
|
@regression-perf |
Performance Regression Test ReportTriggered by: @SiriusNEO Results
Artifacts
|
This pull request introduces an enhancement to the vectorization planning logic in
loop_vectorize.cc, specifically improving how buffer indices are validated for vectorization at different vector sizes. The changes make the vectorization planner more robust by allowing it to recognize additional cases where indices can be safely vectorized, not just when they are invariant but also when they meet certain vectorization criteria.Improvements to vectorization boundary checks:
IndiceCanVectorizemethod, expanding the set of cases where vectorization is allowed.Code cleanup:
Summary by CodeRabbit