DeepStream 性能分析流水线
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/deepstream-profile-pipeline。
技能介绍
问题:高效流水线不该靠猜
DeepStream 里 batch、精度、复用器分辨率、解码缓冲等旋钮彼此牵制。用户说「在这块 GPU 上跑快一点」「N 路 M FPS」时,若仍从显示优先的默认模板起步,往往要在生成后再花多轮试错。本技能在流水线创建阶段就把目标定量化:用推理平台期批次和硬件天花板两类测量结果推导其余配置,并用 Nsight Systems(nsys profile / nsys stats)做端到端分析,报告各插件的 NVTX 时序。
工作方式:阶段 0 预设 + 六步验证
模型与流水线无关:只假设推理元件为 nvinfer 或 nvinferserver,可覆盖检测(含跟踪)、分类、分割、VLM、嵌入等;源可以是文件、RTSP、USB 或组合。技能读取用户真实配置中的模型维度、目标 FPS、源属性,不假定固定编解码器或分辨率。
- 阶段 0(生成前):在无额外提示下预置性能向默认值(如 INT8/FP16、
model-engine-file、streammux 批次与超时、fakesink 基准变体、NvDCF 高性能跟踪预设等),避免从「糟糕骨架」再修补。 - 阶段 1:对照
references/nvtx-coverage.md检查元素 NVTX 覆盖;未插桩部分仍可用闭式旋钮与nvidia-smi dmon等手段诊断。 - 阶段 2:由
nvidia-smi推导解码/计算/显存带宽/PCIe 复制等理论天花板。 - 阶段 3:仅推理微基准(source → streammux → nvinfer → fakesink),扫描 batch-size 找平台期批次。
- 阶段 4–5(资料后续):在完整流水线上验证并与天花板对比。
对用户的表述用 FPS、流数、瓶颈等自然语言,而非内部旋钮名。
边界与约束
- 仅限终端:不依赖 Nsight Lens 或 GUI。
- 无性能意图的「建流水线 / 播视频 / 存流」应交给
deepstream-generate-pipeline。 - 触发词包括:高效/快速/高性能/优化、基准测试、nsys、Nsight、「N 路 M FPS」、GPU 能扛多少路等。
使用场景
- 在指定 GPU 上新建多路 RTSP/H265 检测流水线前,需测定推理平台期 batch 并对照 NVDEC 解码天花板估算可承载路数。
- 产品承诺「N 路 M FPS」时,要从 streammux→nvinfer 微基准起步,再用 nsys 做端到端 profiling 验证是否达标。
- 线上 DeepStream 流水线帧率抖动或掉帧,需按插件 NVTX 时序区分解码、推理算力还是 H2D/D2H 拷贝成为瓶颈。
- 用户明确要求高效/优化/nsys 时,在生成 pipeline 前先套用阶段 0 性能预设(精度、engine、streammux、fakesink 基准变体)再进入测量流程。
适合人员
- 维护门店/园区多路 RTSP 智能分析的视觉算法工程师,需向业务说明指定显卡可稳定承载的路数与 FPS。
- 向政企客户交付 Jetson 或数据中心 DeepStream 方案的集成工程师,需用 nsys 与 NVTX 报告各插件耗时以定位瓶颈。
- 负责检测+NvDCF 跟踪生产配置的平台/ML 运维,收到「基准测试/调优这块 GPU 上的流水线」工单时需按阶段流程执行。
- 编写 `gst-launch` 或 `pipeline.py` 的 ML 工程师,在用户提示带性能意图时要走测量驱动建管,而非通用生成模板的显示默认值。