[moe training] Support cutlass-dsl 4.6 in the CuTe DSL utils - #11
Closed
wolfcomos wants to merge 1 commit into
Closed
[moe training] Support cutlass-dsl 4.6 in the CuTe DSL utils#11wolfcomos wants to merge 1 commit into
wolfcomos wants to merge 1 commit into
Conversation
This was referenced Aug 30, 2026
cutlass-dsl 4.6.0 dropped the leading result-type argument from the nvvm cvt_packfloat / cvt_packfloat_f32 / fmax wrappers, so the MXFP8 CuTe DSL utils built against <=4.5.x fail to trace on 4.6 images. Branch on the installed version and emit the matching call form. The version probe reads importlib.metadata for nvidia-cutlass-dsl, but the runtime availability probe checks importability rather than distribution names, so cutlass can be importable while that exact distribution name is absent (container images re-vendor it under changed names). Treat PackageNotFoundError as the current API instead of crashing every unrelated moe_training import. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
wolfcomos
force-pushed
the
4over6/ao5-cutedsl-compat
branch
from
August 31, 2026 02:00
ab985fb to
20c78fe
Compare
Owner
Author
|
Closing — decoupled from the four-over-six series (nothing in it is needed by pytorch#4851–pytorch#4853); branch preserved. |
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 (emulated ghstack, oldest at bottom):
Summary
cutlass-dsl 4.6.0 dropped the leading result-type argument from the nvvm wrapper calls (
cvt_packfloat,cvt_packfloat_f32,fmax) that the MXFP8 CuTe DSL utils emit, so kernels built against the <= 4.5.x call form fail to trace on 4.6 images. This PR branches on the installed cutlass-dsl version and emits the matching call form; the version probe (importlib.metadata.version("nvidia-cutlass-dsl")) treatsPackageNotFoundErroras the current API rather than failing the whole package import.Design notes
nvidia-cutlass-dsldistribution name is absent (re-vendored under another name). The version probe must not crash unrelatedmoe_trainingimports in that case; it assumes the current (4.6+) API and lets tracing surface any residual mismatch.Test plan
CPU (no GPU; import + collection inside the CI-equivalent container, this branch first on
PYTHONPATH):Lint:
ruff checkandruff format --check(ruff 0.11.6, the version pinned by.github/workflows/ruff_linter.yml) pass on the changed file.GPU results come from the assembled stack tip on GB200 (full
moe_trainingGPU suite: 207 passed / 0 failed), since ao CI has no SM100 runner. Runtime GPU evidence comes from cutlass-dsl 4.6.x environments (the new call form); the pre-4.6 branch is validated by CPU collection/inspection only on this branch.Draft on the fork to stage the upstream submission; supersedes the exploratory stack (#7/#8/#9)
Review pass (2026-08-30)