Repository navigation
feat(rocke): add gfx1250 FP8 scaled WMMA slice - #11696
Merged
Merged
Conversation
✅ All Policy Checks Passed
📖 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. |
yraparti
approved these changes
Sep 14, 2026
Contributor
Author
|
@copilot resolve the merge conflicts in this pull request |
…ke/aick-2056 # Conflicts: # dnn-providers/hip-kernel-provider/rocke/platform/tests/core/future_intrinsic_lowering.cpp # dnn-providers/hip-kernel-provider/rocke/platform/tests/instances/parity/gfx1250_lowering_emit.py Co-authored-by: tenpercent <4273004+tenpercent@users.noreply.github.com>
Contributor
tenpercent
enabled auto-merge (squash)
September 14, 2026 22:04
Contributor
TheRock Submodule Bump ActivityNewest first
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
rocKE already provided gfx1250 K=64 FP8/BF8 WMMA and a block-scaled GEMM that applied FP16 or FP32 scales in software after the matrix instruction. This change adds the first native FP8 x FP8 SCALE and SCALE16 vertical slice, including the catalog contract, dual-engine lowering, packed E8M0 scale operands, an opt-in complete kernel path, and numerical regression coverage on gfx1250.
ISSUE ID : AICK-2281
Umbrella: AICK-2056.
Technical Details
wmma_scaleandwmma_scale16catalog entries with the required fragment lengths.ROCKE_REQUIRE_GFX1250=1makes a missing target fail instead of skip. Torch is not required.This is intentionally the FP8 x FP8 prerequisite slice. Broader FP4, FP6, BF6, conversion, and native type-combination coverage remains outside this PR.
Test Plan
bad=0, zero skips.Test Result
CPU, dual-engine, compiler, COMGR, and ISA-selection checks passed. GPU numerical validation passed on gfx1250 at commit
8a13045058e7e7464377bb5bffcfbaa9523813adusing the ROCm 10.0.0 release tests distribution, HIP 7.15.26333, and AMD clang/LLVM 23. Tools and HIP/COMGR libraries were explicitly pinned to that distribution.The 25 comparisons cover SCALE and SCALE16 with every packed scale group, finite high-bit E8M0 values, independent A/B scaling, multi-tile K=256 accumulation, both COMGR and HIP compilation routes, and the legacy WMMA smoke case. GPU execution used
ROCKE_BACKEND=python; C++ coverage remains the lowering tests and Python/C++ byte-identity checks above. This run does not establish C++ GPU numerical coverage or downstream provider integration.To reproduce, activate a Python environment with NumPy,
ml_dtypes, and pytest, setROCM_PATHto the selected LLVM-23-capable installation, and run fromdnn-providers/hip-kernel-provider/rocke/platform:Submission Checklist