[Qwen3.6][Jetson Thor] 无法复现文档中的 42.8 tok/s baseline
问题
在 Jetson AGX Thor 上运行 Qwen3.6-27B NVFP4 + MTP,文档中 ctx=128 的
decode 性能为 42.8 tok/s,当前环境稳态实测约为 25.76 tok/s。
环境
- Jetson AGX Thor 128 GB,SM110
- JetPack 7.2 / L4T 38.4
- MAXN,
jetson_clocks ON,GPU 1575 MHz
- 容器:
nvcr.io/nvidia/pytorch:25.12-py3
- PyTorch:
2.10.0a0+b4e4ee81d3.nv25.12
- Container CUDA:13.1
- FlashRT:
d0db114
- FP8 KV cache,K=6,ctx=128,
max_new_tokens=64
最新结果
一次 warmup 后连续测量三次:
| Rep |
Prefill |
Decode time |
Decode |
| 1 |
332.582 ms |
2484.409 ms |
25.761 tok/s |
| 2 |
332.605 ms |
2486.273 ms |
25.741 tok/s |
| 3 |
333.086 ms |
2482.827 ms |
25.777 tok/s |
平均 prefill 为 332.76 ms,decode 为 25.76 tok/s。三次输出 SHA 完全
一致,CUDA Graph 和 FP8 XQA 均正常启用。
排查结果
- 使用文档 baseline commit
7cf622f 的 frontend 和重新编译的 kernel,稳态仍
只有 24.26 tok/s,不像是后续 frontend 代码回归。
- CUDA 13.0 与 CUDA 13.1 编译的 kernel 实测仅相差约 1.6%。
- 2K–16K prefill 与文档误差约 0.5–1.2%,问题主要集中在 decode。
- ctx=128 的主要耗时为:MTP chain K=6 约 65–67 ms,verify K+1=7 约 110 ms。
- MTP lm_head 的
widen tactic 在 SM110 上明显较慢:
| Tactic |
单次 lm_head |
widen |
7.83 ms |
default |
4.46 ms |
pingpong |
4.40 ms |
将 vocab-sized lm_head 改用 default 后,decode 提升到 28.27 tok/s,
但仍达不到 42.8 tok/s。
希望确认
- 能否提供 Thor baseline 使用的完整 benchmark 脚本和 prompt?
AL=3.86 是否包含每个 speculative cycle 的 target token?
- 参考设备上的 MTP K=6 chain 和 K=7 verify 分别应为多少毫秒?
- SM110 的 lm_head 是否应使用
default/pingpong 而不是 widen?
如果有进一步定位问题的建议、推荐的 profiling 方法或需要补充的测试数据,也请告知。非常感谢维护者的帮助!
[Qwen3.6][Jetson Thor] 无法复现文档中的 42.8 tok/s baseline
问题
在 Jetson AGX Thor 上运行 Qwen3.6-27B NVFP4 + MTP,文档中 ctx=128 的
decode 性能为 42.8 tok/s,当前环境稳态实测约为 25.76 tok/s。
环境
jetson_clocksON,GPU 1575 MHznvcr.io/nvidia/pytorch:25.12-py32.10.0a0+b4e4ee81d3.nv25.12d0db114max_new_tokens=64最新结果
一次 warmup 后连续测量三次:
平均 prefill 为 332.76 ms,decode 为 25.76 tok/s。三次输出 SHA 完全
一致,CUDA Graph 和 FP8 XQA 均正常启用。
排查结果
7cf622f的 frontend 和重新编译的 kernel,稳态仍只有 24.26 tok/s,不像是后续 frontend 代码回归。
widentactic 在 SM110 上明显较慢:widendefaultpingpong将 vocab-sized lm_head 改用
default后,decode 提升到 28.27 tok/s,但仍达不到 42.8 tok/s。
希望确认
AL=3.86是否包含每个 speculative cycle 的 target token?default/pingpong而不是widen?如果有进一步定位问题的建议、推荐的 profiling 方法或需要补充的测试数据,也请告知。非常感谢维护者的帮助!