-
Notifications
You must be signed in to change notification settings - Fork 74
Enable TensorIndexer with the matmul scheduler tests #5725
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
base: main
Are you sure you want to change the base?
Conversation
|
!test --diff |
Description
|
| Relevant files | |||
|---|---|---|---|
| Bug fix |
| ||
| Enhancement |
|
PR Reviewer Guide
Here are some key observations to aid the review process:
| 🧪 PR contains tests |
| ⚡ Recommended focus areas for review |
Code Movement Safety
|
Greptile SummaryThis PR enables TensorIndexer ( Key changes:
The ordering fix prevents a potential bug where circular buffered loops could skip index allocation if they matched certain conditions (zero index, device dim parallelization, or thread parallelization) that would cause an early return. Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Test as Matmul Scheduler Tests
participant SetUp as Test SetUp()
participant IdModel as IdModel
participant Allocate as allocateLoopIndexVariables()
participant Get as getLoopIndexVariable()
Test->>SetUp: Initialize test fixture
SetUp->>SetUp: Enable IdModel with {"all"}
Note over SetUp: TensorIndexer enabled for all tests
Test->>IdModel: Execute matmul scheduler test
IdModel->>Allocate: Allocate loop index variables
alt Circular Buffered IterDomain
Allocate->>Allocate: Check isCircularBufferedIterDomain()
Allocate->>Allocate: Create CircularBufferIndices for all stages
Allocate->>Allocate: Store in circular_buffered_loop_index_variable_map_
Note over Allocate: Early return - indices allocated
else Non-circular Buffer Loop
Allocate->>Allocate: Check parallel type & conditions
Allocate->>Allocate: Allocate standard loop index
Allocate->>Allocate: Store in loop_index_variable_map_
end
Test->>Get: Request loop index variable
Get->>Get: Check if circular buffered
alt Circular Buffered
Get->>Get: Verify index exists (NVF_ERROR)
Get->>Get: Return index for requested stage
else Standard Loop
Get->>Get: Return from loop_index_variable_map_
end
Get-->>Test: Return loop index
|
Greptile's behavior is changing!From now on, if a review finishes with no comments, we will not post an additional "statistics" comment to confirm that our review found nothing to comment on. However, you can confirm that we reviewed your changes in the status check section. This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR". |
No description provided.