国产算力DCU大模型推理Profiling终极指南

作者:国产算力DCU大模型推理Profiling终极指南

在海光DCU上搞大模型优化?常被性能采集工具折磨?这篇笔记凝结了在 vLLM 框架下无数次踩坑的血泪经验。无论你做底层算子还是框架部署,这篇“GPU X光机”使用指南建议直接收藏!🌟 💡 常用解剖刀:Profiling双雄 hipprof (全科医生):记录 HIP API、显存拷贝与 Kernel 轴,结合 Perfetto 能输出超直观的“多轨运行图”。 rocprofv2 (专科医生):专采底层纯净 Kernel 时间线(CSV格式),无API干扰,算子级精细测速绝佳。 🛠️ 核心避坑:vLLM 的正确采集姿势 长驻服务多进程最怕“跑完没数据”。首选方案:Driver-wrapped hipprof。 ❌ 拒绝瞎包:用 hipprof 包住 driver 脚本,由脚本启动 vllm serve 并发送请求。 ✅ 神仙参数:必带 --follow-fork (追踪子进程)、--exit-cleanup 和极小的 --buffer-size 1,强制安全落盘! ✂️ 极速瘦身:采集全窗口数据量爆炸!建议设 --max-model-len 1024,--max-num-batched-tokens 256,用短请求快速拿完整时间线。 🛑 优雅退场:千万别直接 kill!让脚本先发 SIGTERM 给 vLLM,最后加 wait 命令,让 hipprof 亲眼看它退干净,才能生成完美 DB。 🔍 灵魂拷问:产物可用性“三级体检” 别看到生成 .db 就开香槟,无效DB会导致分析崩盘: 查类型:file 命令确认是 SQLite 格式,无 .db-journal 残留。 查完整:以 immutable 模式打开,执行 pragma integrity_check 必须返回 ok。 查数据:HIPOPS 或 SUMMARY 表必须有非零行,只有骨架表就是空跑。 🚀 进阶:给大模型做“切片标记” 满屏 Kernel 分不清 Prefill 还是 Decode?引入 ROCTX / HIPTX! 在 Python 或 C++ 侧插入 roctxRangeStart 和 roctxRangeStop。强烈建议给以下节点打标: Scheduler 调度的每一轮 Model Forward 前向传播 KV Cache 的分配和交换 All-Reduce 通信区间 Perfetto 时间线上瞬间拥有极度舒适的阶段指示条!🎯 结语 国产算力基建需要剥丝抽茧的耐心。掌握底层 Profiling,一起进阶“性能压榨大师”! 👇你平时用啥 GPU 调优工具?遇到过哪些奇葩报错?评论区探讨! #国产芯片 #海光DCU #AI推理优化 #vLLM #性能分析 #hipprof #大模型部署 #技术干货 #算力国产化

📰 返回新闻列表