Repository navigation
Tensor-core dots on Volta (sm_70) and Turing (sm_75): a patch series on Triton 3.6 #12517
Peuqui
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hello,
this is not a request to change Triton's support policy. I know that sm_70 and sm_75 are not supported targets (the README lists compute capability 8.0+; see also #9970 and #10918), and I am not asking for a review. I only want to point people who still run these cards to a fork that works for us, in case it saves someone the work.
Since #5066 (Triton 3.3) every tl.dot below compute capability 8.0 compiles to FMA, and #5099 removed the Volta code. We serve large models on three Tesla V100 and two Quadro RTX 8000 and needed the tensor cores there. The result is 23 commits on top of v3.6.0, the Triton version our PyTorch 2.10 build ships with:
https://github.com/Peuqui/triton/tree/sm7x-tensor-cores
What it does:
Measurements on our machine (fp16):
GEMM M x 4096 x 4096 at M = 16 / 128 / 512 / 4096, TFLOPS (higher is better), measured at f1c961e (the three commits after it change the decode and rearrangement paths):
Causal flash-attention forward, a chunk of 2,048 queries at the end of a 32,768-token context, 12 query heads, 2 KV heads, head dim 256 (ms, lower is better):
Tests: python/test/unit/language/test_core.py -k dot at the head of the branch: 283 passed, 0 failed, 2329 skipped on each card. Unmodified 3.6.0 on the V100: 97 failed, 194 passed, 2321 skipped.
Not tested: the lit and C++ unit tests, and anything on sm_80 or newer. The changes are meant to stay below sm_80, but I have not checked that on newer cards.
We run this build in production in our vLLM fork (https://github.com/Peuqui/1Cat-vLLM/tree/fork-main-v4) on three V100 and two RTX 8000: the Triton kernels of DeepSeek-V4 (sparse-attention indexer and prefill) and GLM-5.3 (linear attention) use the tensor cores on both card types, and the DeepSeek-V4 MoE runs on Triton on the V100 stages.
If more people run Triton on these cards and a maintained pre-sm_80 path would help, I would be glad to hear about it. I am not proposing anything upstream at this point.
AI assistance (Claude) was used to write the patches and this text; every number above comes from our measurement logs.
All reactions