Skip to content

# [Qwen3.6][Jetson Thor] 无法复现文档中的 42.8 tok/s baseline #153

Description

@HuLixiaNick531

[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 均正常启用。

排查结果

  1. 使用文档 baseline commit 7cf622f 的 frontend 和重新编译的 kernel,稳态仍
    只有 24.26 tok/s,不像是后续 frontend 代码回归。
  2. CUDA 13.0 与 CUDA 13.1 编译的 kernel 实测仅相差约 1.6%。
  3. 2K–16K prefill 与文档误差约 0.5–1.2%,问题主要集中在 decode。
  4. ctx=128 的主要耗时为:MTP chain K=6 约 65–67 ms,verify K+1=7 约 110 ms。
  5. 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。

希望确认

  1. 能否提供 Thor baseline 使用的完整 benchmark 脚本和 prompt?
  2. AL=3.86 是否包含每个 speculative cycle 的 target token?
  3. 参考设备上的 MTP K=6 chain 和 K=7 verify 分别应为多少毫秒?
  4. SM110 的 lm_head 是否应使用 default/pingpong 而不是 widen

如果有进一步定位问题的建议、推荐的 profiling 方法或需要补充的测试数据,也请告知。非常感谢维护者的帮助!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions