Repository navigation
feat(rocke): disable unroll k for basic pipeline - #12409
Conversation
b742a9b to
23bb138
Compare
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
One or more issues must be addressed before approval.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 3
Open (5)
Basic pipeline test rejects newly required scf_for_iter loop · New PR scope omits major group-merge and wgrad changes · New C++ builder divides by zero for runtime split-K · New Two-stage merged sweep uses incorrect group count · New Candidate description incorrectly claims group merging is universally unsupport… · New
What changed in this PR
Updates ROCm’s rocKE implicit-GEMM convolution codegen to use runtime K-loops for the basic pipeline, while adding grouped wgrad split-K tuning and depthwise group merging.
Changes:
- Replaces basic-pipeline Python unrolling with bounded runtime loops in Python and C++.
- Adds groups-, block-size-, XCD-, and grid-limit-aware split-K selection.
- Adds group-merge codegen, validation, workspace handling, benchmarks, and tests.
| File | Description |
|---|---|
| dnn-providers/hip-kernel-provider/rocke/platform/tests/instances/rocke_ir_parity_harness.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/platform/tests/dispatch/dispatch_tests/gemm/test_split_k_wgrad.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/platform/python/rocke/helpers/split_k.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/platform/cpp/instances/common/conv_implicit_gemm_wgrad.cpp | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/platform/cpp/instances/common/conv_implicit_gemm_conv_build_glue.cpp | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/library/tests/test_conv_wgrad_correctness.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/library/tests/dispatch/test_grouped_conv_wgrad_dispatch.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/library/kernels/common/conv_implicit_gemm.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/library/kernels/common/conv_implicit_gemm_wgrad.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/library/kernels/common/conv_implicit_gemm_wgrad_two_stage.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/library/dispatch/grouped_convolution.py | Updated as part of this pull request. |
| dnn-providers/hip-kernel-provider/rocke/library/benchmarks/common/benchmark_implicit_gemm_conv.py | Updated as part of this pull request. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
16acaf7 to
8833eff
Compare
8833eff to
5c8430b
Compare
PR #12409 — Reviewed with Claude 4.7🟡 = should change
Verdict: PASS — 0 blocking. Clean refactor, Python↔C++ parity kept, goldens/test/docs updated together. |
TheRock Submodule Bump ActivityNewest first
|



Motivation
Speedup compilation time
Technical Details
Disable unroll k for basic pipeline in implicit gemm conv.
Test Plan
test_conv_*_corectness.py
Test Result
Passed
Submission Checklist
JIRA ID: AICK-2217