Skip to content
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

[WIP] Resize scheduler update #3657

Draft
wants to merge 110 commits into
base: main
Choose a base branch
from
Draft

[WIP] Resize scheduler update #3657

wants to merge 110 commits into from

Conversation

naoyam
Copy link
Collaborator

@naoyam naoyam commented Dec 31, 2024

No description provided.

Copy link

github-actions bot commented Jan 15, 2025

PR Reviewer Guide 🔍

(Review updated until commit 668d8cb)

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 4 🔵🔵🔵🔵⚪
🧪 No relevant tests
⚡ Recommended focus areas for review

Logic Change

The function getDependentAllocIDsIdModel has been modified to take an additional argument load_store of type Expr*. This change affects the logic of the function and may have implications for the overall functionality of the code.

getDependentAllocIDsIdModel(
Function Signature Change

The function getAndValidateVectorizedIdInAllocationDomain has been modified to take an additional argument load_store of type Expr*. This change affects the function signature and may have implications for the overall functionality of the code.

static IterDomain* getAndValidateVectorizedIdInAllocationDomain(
Logic Change

The function shouldForward has been modified to return an Expr* instead of a UnaryOp*. This change affects the logic of the function and may have implications for the overall functionality of the code.

Expr* shouldForward(Val* v) {
Logic Change

The function getPredicates has been modified to include additional logic for handling resize operations. This change affects the logic of the function and may have implications for the overall functionality of the code.

std::vector<IterDomain*> predicate_domains = getPredicateDomains(tv, expr);
Logic Change

The function IndexingTraversal has been modified to include additional logic for handling resize operations. This change affects the logic of the function and may have implications for the overall functionality of the code.

Logic Change

The function schedule has been modified to include additional logic for handling resize operations. This change affects the logic of the function and may have implications for the overall functionality of the code.

void ResizeScheduler::schedule(Fusion* fusion, const HeuristicParams* params) {
New Test Case

A new test case SplitThenPad has been added to test the functionality of the PredicateIndexingTest class. This change affects the test coverage of the code and may have implications for the overall functionality of the code.

// Check if resize input IDs are predicated. Repro of issue
New Test Case

A new test case VecValidationRepro has been added to test the functionality of the LoopDomainSchedulingTest class. This change affects the test coverage of the code and may have implications for the overall functionality of the code.

// Repro for a vectorization validation bug. It used to do a traversal
Logic Change

The test case Bwd has been modified to include additional logic for handling segment set operations. This change affects the logic of the test case and may have implications for the overall functionality of the code.

head_dim},

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.

1 participant