graphsignal-top:开源 Graphsignal profiler 中针对推理 GPU 的 `top` 工具,内核按耗时实时排序,名称清晰可读

Reddit r/LocalLLaMA 工具

摘要

Graphsignal 发布开源工具 graphsignal-top,一个面向推理 GPU 的类 `top` 实时监控面板,可按时间排名显示 kernel、GPU 利用率、显存、功耗及 LLM 推理指标(tok/s、TTFT/TPOT 等),支持远程监控。

几周前,我们在这里发布了开源的 Graphsignal profiler:用 `graphsignal-run` 包裹 `vllm serve` / `sglang serve` 等服务,它就会把采集到的所有指标以 JSON 格式输出——主要是为了让 agent 能够循环读取。 结果发现,我们自己也一直在打开这些 JSON 文件,手动查看 GPU 在干什么。 于是就有了 `graphsignal-top`: ``` graphsignal-run vllm serve <model> --port 8000 # 一个终端 graphsignal-top # 另一个终端 ``` 你能看到什么: - 每个 GPU 的利用率随时间变化、显存、功耗、降频情况; - 引擎的运行中/等待中请求数、tok/s 和 TTFT/TPOT 的 p50/p95; - GPU 时间分布(kernel / graph / memcpy / sync); - 最近 5 秒内按耗时排名的每个 kernel,带可读的名称和分类,而不是一堆混乱的符号名。 还有 CUDA graph replay、传输和同步的独立标签页。 截图中展示的是 Qwen3-32B 跑在 2x RTX PRO 6000 上,tp=2,走 PCIe 互联。 NCCL all-reduce 占了四分之一的 GPU 时间,而一半的 CPU 墙钟时间花在等待它上面的 host sync。 一眼就能看出来。 也支持远程查看:用 `graphsignal-top --host gpu-box` 连接使用 `--listen-host` 启动的 profiler,或者通过 SSH 端口转发。 如果只是想把输出打到日志里,加 `--once` 参数即可打印单帧数据。 仓库地址:https://github.com/graphsignal/graphsignal
查看原文

相似文章

Graphsignal (GitHub Repo)

TLDR AI

Graphsignal 是一个生产级推理性能分析平台,提供详细时间线、大语言模型生成追踪和系统级指标,帮助工程师跨模型、GPU及其他加速器优化AI性能。

中间大有空间:通过细粒度监控揭示 GPU 集群中的机遇

arXiv cs.AI

普林斯顿大学研究者对一个包含89节点、319块GPU的大学科研集群进行100毫秒粒度的细粒度监控,发现超过70%的任务GPU内存使用不足20%、80%的任务申请时长与实际时长远不匹配,指出通过改进调度和GPU多任务复用可大幅提升利用率。