mirror of
https://github.com/deepseek-ai/DeepGEMM.git
synced 2026-11-05 00:47:26 +00:00
[GH-ISSUE #461] Update CUTLASS to 4.8.0 for SM107 (Rubin) support #196
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepGEMM#196
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lisawym on GitHub (Sep 28, 2026).
Original GitHub issue: https://github.com/deepseek-ai/DeepGEMM/issues/461
Summary
We encountered TMA/TMEM device assertions while running DeepSeek-V4.1-Flash through vLLM on Rubin (SM107). Could DeepGEMM update its vendored CUTLASS dependency from 4.2.1 to 4.8.0, which adds initial SM107 support?
The failure was observed with
vllm-project/DeepGEMMate1f418c2a4f20818221f6b0e578b4c2f634d4c3f. We also confirmed that upstreamdeepseek-ai/DeepGEMMat78b6900carries the same CUTLASS pin,f3fde58372d33e9a5650ba7b80fc48b3b49d40c8. The dependency limitation is therefore shared, although we have not reproduced the runtime failure on an unmodified upstream checkout.The DSV4.1-Flash error output is included below. A colleague reported similar behavior with GLM5.3 on Rubin, which suggests the issue is not model-specific.
Observed failure
In our September 22, 2026 run, model weights loaded, but startup profiling failed before requests could be served. With
CUDA_LAUNCH_BLOCKING=1, the stack pointed totf32_hc_prenorm_gemm:DeepGEMM's pinned architecture selector selects
sm_107ffor capability 10.7. However, the pinned CUTLASS headers lack SM107 enablement; their SM100 feature guards require__CUDA_ARCH__ == 1000. The errors indicate that the affected CuTe TMA/TMEM helpers were compiled without their feature macros enabled, selecting assertion fallbacks. This is consistent with an architecture-guard mismatch.Environment
2.15.0.dev20260908+cu1340.29.1rc1.dev513+g0961bbae2.d20260922.cu1340961bbae2894d574be790d219651824eb199318ee1f418c2a4f20818221f6b0e578b4c2f634d4c3ff3fde58372d33e9a5650ba7b80fc48b3b49d40c8deepseek-ai/DeepSeek-V4.1-Flashdba1be0a40aa45a94ad051997016db3960a90277Base container:
Configuration: TP4, V2 model runner, eager execution, CPU-offloaded Engram, no speculative decoding, maximum model length 32768, maximum sequences 8, and maximum batched tokens 8192. The optional
mooncake-transfer-engine-cuda13==0.3.13.post1package was installed, but the Mooncake connector was disabled for this diagnostic run.Proposed update and current workaround
Update the CUTLASS submodule pin from 4.2.1 to 4.8.0, released September 21, 2026 PDT / September 22 UTC. This release adds initial Rubin support, including enabling existing SM100-compatible kernels for
sm_107aandsm_107fand updating TMEM handling.The release notes specify the R615 driver associated with CUDA 13.4 GA for SM107 execution and state that R610 from the Developer Preview is insufficient. Our recorded run used driver 620.43.
Our temporary workaround sets DeepGEMM's JIT compiler target to
sm_100fwhen the device reports capability 10.7. This allowed the exercised DSV4.1-Flash paths to run in a separate custom build; it was not a controlled A/B against the failing container above.Validation and questions
We have not tested the 4.8.0 upgrade. We do have SM107 access and can run DSV4.1-Flash against a candidate branch to confirm whether the failure clears.
Is updating CUTLASS to 4.8.0 the recommended approach for SM107 support? Are there known compatibility or regression concerns, or required DeepGEMM changes beyond the submodule bump?
@lucifer1004 commented on GitHub (Oct 17, 2026):
Another data point, from TensorRT-LLM: it pins DeepGEMM
b64107f2b9, which also vendors CUTLASS 4.2.1. There,fp8_gemm_nt(thesm100_fp8_fp4_gemm_1d1d_implkernel) hits the same assert on SM107, atcute/arch/tmem_allocator_sm100.hpp:143with "Attempting to use TMEM allocation PTX without CUTE_ARCH_TCGEN05_TMEM_ENABLED".DG_JIT_DEBUG=1shows--gpu-architecture=sm_107f.Changing only the JIT target from
sm_107ftosm_100f, with no other changes, makes the kernel run correctly on SM107 for (m, k, n) = (12, 512, 1024), (1, 7168, 2048) and (128, 7168, 2048). The error against an fp32 reference matches a non-DeepGEMM FP8 block-scale GEMM. So until the CUTLASS bump lands, mapping 10.7 to100finDevice::get_arch()looks like a workable interim fix.TensorRT-LLM tracking issue: NVIDIA/TensorRT-LLM#20508.