[Inductor][NVGEMM] Add infrastructure for registering custom kernels with NVGEMM Cutlass API#176543
Closed
NikhilAPatel wants to merge 3 commits intogh/NikhilAPatel/112/basefrom
Closed
[Inductor][NVGEMM] Add infrastructure for registering custom kernels with NVGEMM Cutlass API#176543NikhilAPatel wants to merge 3 commits intogh/NikhilAPatel/112/basefrom
NikhilAPatel wants to merge 3 commits intogh/NikhilAPatel/112/basefrom
Conversation
…ppers Authored with Claude. [ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/176543
Note: Links to docs will display an error until the docs builds have been completed. ❌ 2 New Failures, 1 Cancelled Job, 3 Unrelated FailuresAs of commit ff29833 with merge base 572f0d0 ( NEW FAILURES - The following jobs have failed:
CANCELLED JOB - The following job was cancelled. Please retry:
FLAKY - The following jobs failed but were likely due to flakiness present on trunk:
UNSTABLE - The following job is marked as unstable, possibly due to flakiness on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
This was referenced Mar 5, 2026
… kernel wrappers" cc voznesenskym penguinwu EikanWang jgong5 Guobing-Chen XiaobingSuper zhuhaozhe blzheng wenzhe-nrv jiayisunx ipiszy kadeng muchulee8 amjames chauhang aakhundov coconutruben jataylo [ghstack-poisoned]
mlazos
approved these changes
Mar 6, 2026
This was referenced Mar 8, 2026
Collaborator
|
Starting merge as part of PR stack under #176549 |
pytorchmergebot
pushed a commit
that referenced
this pull request
Mar 9, 2026
Pull Request resolved: #176544 Approved by: https://github.com/mlazos ghstack dependencies: #176543
pytorchmergebot
pushed a commit
that referenced
this pull request
Mar 9, 2026
Pull Request resolved: #176545 Approved by: https://github.com/mlazos ghstack dependencies: #176543, #176544
pytorchmergebot
pushed a commit
that referenced
this pull request
Mar 9, 2026
Instead of cloning this directly from the Cutlass repo via `setup.py`, we need to own it ourselves inside of Inductor to do some Tensor mode reordering due to the differences between how Inductor and this kernel need the dims ordered Pull Request resolved: #176546 Approved by: https://github.com/mlazos ghstack dependencies: #176543, #176544, #176545
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…led GEMM (pytorch#176548)" This reverts commit 9db6179. Reverted pytorch#176548 on behalf of https://github.com/zou3519 due to broke CI ([comment](pytorch#176543 (comment)))
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…EMM Backend (pytorch#176547)" This reverts commit dd06fff. Reverted pytorch#176547 on behalf of https://github.com/zou3519 due to broke CI ([comment](pytorch#176543 (comment)))
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…ch#176546)" This reverts commit c4fd6ef. Reverted pytorch#176546 on behalf of https://github.com/zou3519 due to broke CI ([comment](pytorch#176543 (comment)))
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…ch#176545)" This reverts commit 8df497d. Reverted pytorch#176545 on behalf of https://github.com/zou3519 due to broke CI ([comment](pytorch#176543 (comment)))
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…torch#176544)" This reverts commit eb97b58. Reverted pytorch#176544 on behalf of https://github.com/zou3519 due to broke CI ([comment](pytorch#176543 (comment)))
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…kernels with NVGEMM Cutlass API (pytorch#176543)" This reverts commit 9e49f44. Reverted pytorch#176543 on behalf of https://github.com/zou3519 due to broke CI ([comment](pytorch#176543 (comment)))
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…with NVGEMM Cutlass API (pytorch#176543) Pull Request resolved: pytorch#176543 Approved by: https://github.com/mlazos
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…6544) Pull Request resolved: pytorch#176544 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
Pull Request resolved: pytorch#176545 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
Instead of cloning this directly from the Cutlass repo via `setup.py`, we need to own it ourselves inside of Inductor to do some Tensor mode reordering due to the differences between how Inductor and this kernel need the dims ordered Pull Request resolved: pytorch#176546 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…end (pytorch#176547) Pull Request resolved: pytorch#176547 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545, pytorch#176546
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
…pytorch#176548) Pull Request resolved: pytorch#176548 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545, pytorch#176546, pytorch#176547
EmanueleCoradin
pushed a commit
to EmanueleCoradin/pytorch
that referenced
this pull request
Mar 30, 2026
Needed to remove some docstrings from pytorch#176546 in order to fit in the 2000 LoC limit. This PR adds them back. Pull Request resolved: pytorch#176549 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545, pytorch#176546, pytorch#176547, pytorch#176548
AaronWang04
pushed a commit
to AaronWang04/pytorch
that referenced
this pull request
Mar 31, 2026
…rch#176845) Pull Request resolved: pytorch#176845 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545, pytorch#176546, pytorch#176547, pytorch#176548, pytorch#176549
AaronWang04
pushed a commit
to AaronWang04/pytorch
that referenced
this pull request
Mar 31, 2026
Shared helpers (module-level):
- _round_up — deduplicated from two test methods
- _prep_k — deduplicated from two test methods
- _create_tensor_with_layout — unified layout creation for all dtypes (float16, bf16, fp8, fp4)
- _nvgemm_config — standard config dict with autotune_fallback_to_aten: False always set
Bug fixes:
- Added missing torch._dynamo.reset() to test_scaled_gemm_mxfp8, test_scaled_gemm_nvf4, test_grouped_gemm, test_grouped_gemm_varying_offsets
- ceildiv moved to top-level import (was imported inside two test methods)
New test coverage:
- test_matmul: added ("contiguous", "aligned_offset") and ("contiguous", "padded") layout combos (7 combos, up from 5)
- test_scaled_gemm_mxfp8: added shape parametrization (4 shapes, was 1)
- test_grouped_gemm: added layout_a parametrization (contiguous, aligned_offset, view, padded)
- test_grouped_gemm_varying_offsets: split out from original test_grouped_gemm — tests different offset distributions separately
- test_fp8_heuristic_configs: new heuristics integration test for FP8 precision strings
Consistency fixes:
- All tests now use _nvgemm_config() with autotune_fallback_to_aten: False
- TestNVUniversalGemmDynamicShapes also uses _nvgemm_config()
Pull Request resolved: pytorch#176847
Approved by: https://github.com/mlazos
ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545, pytorch#176546, pytorch#176547, pytorch#176548, pytorch#176549, pytorch#176845
AaronWang04
pushed a commit
to AaronWang04/pytorch
that referenced
this pull request
Mar 31, 2026
…ytorch#176859) Pull Request resolved: pytorch#176859 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545, pytorch#176546, pytorch#176547, pytorch#176548, pytorch#176549, pytorch#176845, pytorch#176847
This was referenced Apr 1, 2026
nklshy-aws
pushed a commit
to nklshy-aws/pytorch
that referenced
this pull request
Apr 7, 2026
…rch#176845) Pull Request resolved: pytorch#176845 Approved by: https://github.com/mlazos ghstack dependencies: pytorch#176543, pytorch#176544, pytorch#176545, pytorch#176546, pytorch#176547, pytorch#176548, pytorch#176549
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.
Stack from ghstack (oldest at bottom):
cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @wenzhe-nrv @jiayisunx @ipiszy @kadeng @muchulee8 @amjames @chauhang @aakhundov @coconutruben @jataylo