Skip to content

fix(CuTeDSL): restore trailing Int<1> dimension in SM90 MMA atom TV L…#3258

Open
zhils wants to merge 1 commit into
NVIDIA:mainfrom
zhils:fix/sm90-mma-tv-layout-c-3254
Open

fix(CuTeDSL): restore trailing Int<1> dimension in SM90 MMA atom TV L…#3258
zhils wants to merge 1 commit into
NVIDIA:mainfrom
zhils:fix/sm90-mma-tv-layout-c-3254

Conversation

@zhils
Copy link
Copy Markdown

@zhils zhils commented May 21, 2026

…ayout C when N=8

When N=8, the SM90 WGMMA CLayout_64xN has a trailing Int<N/8> = Int<1> dimension in the C++ CuTe reference (mma_traits_sm90_gmma.hpp L432-L435). The MLIR layout canonicalization was incorrectly dropping this size-1 dimension, causing tv_layout_C to return ((4,8,4),(2,2)) instead of ((4,8,4),(2,2,1)).

This fix adds a post-processing check in MmaAtom.tv_layout_C to restore the trailing Int<1> dimension when N=8, matching the C++ implementation and preserving layout structural invariants.

Fixes #3254

…ayout C when N=8

When N=8, the SM90 WGMMA CLayout_64xN has a trailing Int<N/8> = Int<1> dimension in the C++ CuTe reference (mma_traits_sm90_gmma.hpp L432-L435). The MLIR layout canonicalization was incorrectly dropping this size-1 dimension, causing tv_layout_C to return ((4,8,4),(2,2)) instead of ((4,8,4),(2,2,1)).

This fix adds a post-processing check in MmaAtom.tv_layout_C to restore the trailing Int<1> dimension when N=8, matching the C++ implementation and preserving layout structural invariants.

Fixes NVIDIA#3254
@ccecka
Copy link
Copy Markdown
Contributor

ccecka commented May 21, 2026

There is no invariant that requires (2,2,1) over (2,2) -- both are size-4 vectors of elements (they both coalesce to (2,2)) that each thread of the MMA accumulates into. The ranks of the T-mode and the V-mode have no semantic meaning.

This appears to be wasted logic in pursuit of matching (unnecessary) C++ convention.

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.

[BUG] Wrong TV Layout C in MMA Atom

2 participants