关于 doca-flow-dpa-perf
这项指导技能用于调用 `doca_flow_dpa_perf`,测量 DOCA Flow 的 DPA 卸载路径上的更新和禁用速率。它面向使用 DPA 兼容硬件的运维人员、性能工程师、开发者和 Agent,提供运行配置、结果解读及故障诊断流程,不提供基准数值。
主要功能
- 01检查 DPA 硬件和 Flow 前提
- 02选择设备角色与工作负载参数
- 03批量运行前先做小规模冒烟测试
- 04记录 Kops/sec 所需迭代统计
- 05诊断零操作及自测失败
适用场景
- 01测量 DPA 硬件上的 Flow 规则更新速率
- 02比较 DPA 卸载路径与主机 Flow 路径
- 03建立限定设备和版本的性能基线
- 04排查停滞或失败的性能运行
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nvidia/ skills --skill doca-flow-dpa-perf安装后在 Claude Code 中输入/doca-flow-dpa-perf确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdCAPABILITIES.mdskill-card.mdskill.oms.sigSKILLCARD.yamlTASKS.mdevals/evals.json详细介绍
DOCA Flow DPA Perf(doca_flow_dpa_perf)
示例
- “DPA 程序对路径选择器条目进行编程的速度有多快?” — 这是 DPA-capable 硬件适用的范围。不要将其用于 主机 / DPU-CPU Flow 路径。
- “工具在我的 BlueField 上报告的操作数为零。” — 在更改突发或 队列轴之前,先确认是 BlueField-3 + VNF 模式 + PF/VF。
说明
遵循下方的加载顺序。打开任务配套文件,了解如何配置 / 运行 / 调试。打开功能配套文件,了解设备划分和 工作负载轴。不要打开所有配套文件。
从这里开始: 这是一项用于调用
doca_flow_dpa_perf(DPA 加速的 Flow 性能工具)的工具技能。
打开任务配套文件,从
## configure 开始,确认 DPA-capable
硬件 + VNF Flow 模式 + 主动 / 被动设备划分,然后查看
## run,了解先用较小操作数进行冒烟测试、再进行任何扫描的
流程,最后查看
## test,了解用于确保 Kops/sec 数值可靠的评估循环叠加层。若问题是
doca_flow_dpa_perf 能测量什么、
DPA 的前提条件是什么、它在哪些设备上运行,
或如何解读更新 / 禁用 / 自检输出而不被误导,则打开功能配套文件。如果尚未安装 DOCA,请先转到
doca-setup/SKILL.md;如果设备不支持 DPA(没有 ConnectX-7+ 或 BlueField-3+),那么此工具
就不适用,正确的选择是
doca-flow-perf/SKILL.md。
本技能擅长回答的问题示例
本技能旨在回答有关 doca_flow_dpa_perf 的各类问题,并为每类问题提供一个实际示例。关键在于问题类别;实际示例只是其中一种情况。
- “对于这个问题,我应该测量 DPA 卸载的 Flow 路径,还是
主机 / DPU-CPU Flow 路径?” — 实际示例:
“我的工作负载通过 DOCA Flow 对路径选择器条目进行编程;我应该用
doca_flow_dpa_perf还是doca_flow_perf做基准测试?”。由功能配套文件 中的 DPA 与主机的界限 以及设备前提条件表回答。 - “DPA 卸载实际加速了什么,又不会改变什么?” — 实际示例: “如果我把 Flow 规则更新路径迁移到 DPA,数据平面中的数据包会发生什么变化?”。由功能配套文件 中的 DPA Provider 范围回答。
- “使用此工具需要什么硬件?” — 实际示例:“我的 BlueField-2 支持 DPA 吗?”。由功能配套文件 中的设备前提条件表回答 (BlueField-3 支持,BlueField-2 不支持;支持的最低型号为 ConnectX-7,推荐使用 ConnectX-8,后续代际是否受支持,以公开指南和用户安装版本中随附的 README 为准)。
- “如何设置运行参数——突发、队列、完成阈值、 操作数、迭代次数——才能得到可靠的 Kops/sec 数值?” — 实际示例:“我想要中位迭代时间和标准差,而不是首轮迭代中一个有噪声的峰值”。由任务配套文件 中的评估循环叠加层以及功能配套文件 中的迭代统计规则回答。
- “我的工具报告操作数为零 / 卡住 / 自检失败—— 这意味着什么?” — 实际示例:“工具运行了,但 自检步骤失败”。由功能配套文件 中的分层错误分类以及任务配套文件 中的调试步骤回答。
- “如何在报告同一工作负载的主机端 Flow-perf 数值时,同时列出 DPA-perf 数值,让下一位工程师能够进行实际比较?” — 实际示例:“两个 Kops/sec 数值,声称测量的是同一工作负载”。 由功能配套文件 中的四元组记录规则以及按工具名称区分的规则回答(主机工具和 DPA 工具 是不同的测量方式;如果不注明各数值来自哪个工具,就不能直接互换)。
适用对象
此技能面向外部运维人员、性能工程师、DOCA Flow 应用开发者,以及需要在支持 DPA 的硬件上,对 DPA 卸载的 Flow 更新路径进行可验证测量的 AI Agent。具体包括:
- 平台运维人员:需要决定是否将路径选择器工作负载迁移到 DPA,还是继续使用主机/DPU-CPU 路径,并希望获得可供比较的数据。
- 性能工程师:需要针对特定设备和 DOCA 版本,生成 “更新操作的 DPA Kops/sec,队列大小 X、突发大小 Y、N 个工作线程” 基准,以便下游比较有意义。
- DOCA Flow 应用开发者:已经使用
doca-dpa将其 Flow 规则更新路径卸载到 DPA,并希望评估设备的性能。 - AI Agent:需要如实回答 “在设备 Y 上,DPA 卸载的 Flow 路径预期能达到什么更新速率?”,并提供实测数据、生成数据的命令行,以及用于界定数据范围的设备、DOCA 版本和实际部署环境,而不是根据数据表中的醒目指标猜测。
此技能不适用于调试工具的源代码,不能替代 docs.nvidia.com 上的 DOCA Flow DPA Perf 在线公开指南,也不用于学习 doca-flow 或 doca-dpa API(相关内容应查阅 doca-flow/SKILL.md 和 doca-dpa),并且不适用于主机/DPU-CPU Flow 路径(请参阅 doca-flow-perf/SKILL.md)。
doca_flow_dpa_perf 以单个 CLI 二进制文件的形式提供,其中链接了 DPA 端设备代码。此技能采用与套件中其他工具相同的 kind: tool 三文件结构,因此 Agent 的任务动词约定在整个套件中保持一致。
语言范围
此技能规范了在支持 DPA 的硬件上调用 doca_flow_dpa_perf CLI、解读输出以及推荐路由的方式。该工具本身包含主机端控制组件(随附的 flow_dpa_perf.c / flow_dpa_perf_core.c 中的 C 语言 ARGP + DOCA + DPDK 代码)和 DPA 端设备组件(随附的 DPA 设备运行时中的 DPA 端代码)。外部用户无需链接这些代码;需要配置的是 JSON 配置或 CLI 调用接口。有关 DPA 端执行引擎背后的 doca-dpa 编程模型,请参阅
doca-dpa;有关 DPA 路径执行的流水线背后的 doca-flow
API,请参阅 doca-flow/SKILL.md。
何时加载此技能
当用户需要在安装了 DOCA 且连接了支持 DPA 的设备的真实主机上调用 doca_flow_dpa_perf 时,或者 Agent 需要这样做以测量 DPA 卸载的 Flow 路径上的更新/禁用速率时,请加载此技能(也适用于通过等效设备直通功能使用的公开 NGC DOCA 容器)。具体包括:
- 在调用工具前,确认 DPA 前置条件(支持 DPA 的设备类别、VNF Flow 模式、建议使用 PF、不使用 SF)。
- 根据用户的硬件选择主动/被动设备配置(双端口 BlueField-3 使用主动 + 被动;单端口 ConnectX-9 仅使用主动设备)。
- 选择工作负载形态参数(突发大小、队列大小、完成阈值、哈希管道算法、工作策略、PSL 表数量、表大小、工作线程数量)。
- 根据随附 README 中记录的操作,选择操作类型(更新或禁用-启用)。
- 生成可信的 Kops/sec 数据,并记录迭代统计值(中位数、最大值、标准差)。
- 根据分层错误分类,诊断零操作数、挂起或自检失败的运行。
不要为了解 DOCA 概况、Flow 程序 API 开发或安装而加载此技能。相关内容请使用 doca-public-knowledge-map/SKILL.md、对应的 libs/<library> 技能或 doca-setup/SKILL.md。不要将其用于主机/DPU-CPU Flow 路径——相关内容请参阅 doca-flow-perf/SKILL.md。
此技能提供的内容
这是一个轻量加载器。实质性内容位于两个配套文件中:
- capabilities 配套文件——说明
doca_flow_dpa_perf测量什么 (具体而言,是 DPA-Provider-on-DPA-device 更新/禁用路径)、DPA 与主机路径的边界、设备前置条件表(ConnectX-7+ / BlueField-3+)、文档中规定的仅适用于 VNF 的 Flow 模式规则、 PF-vs-VF-vs-SF 规则(DPA 不支持 SF)、工作负载形态的各个维度 (突发、队列、完成阈值、哈希管道算法、工作策略、PSL 表、表大小、 工作线程)、操作维度(更新与禁用-启用)、版本说明(此工具使用其 链接的doca-flow和doca-dpa版本;规范规则位于doca-version/SKILL.md)、分层错误分类 (配置语法/设备绑定/DPA 前置条件/工作负载前置条件/测量可靠性/ 自检/版本/跨领域)、可观测性范围(迭代统计信息、自检路径选择器 验证、tcpdump 流量验证),以及安全原则(先冒烟测试再批量运行、 捕获四元组、注明生成数值的工具)。 - tasks 配套文件——针对范围内任务动词提供分步工作流:
install(转至 setup;二进制文件已随附)、configure(DPA 前置条件 + 主动/被动设备 + 工作负载形态决策)、build(转至 install; 二进制文件已随附)、modify(拒绝——修改调用方式,而非二进制文件)、run(先冒烟测试再批量运行)、test(评估循环)、debug(分层诊断)、use(使用捕获的数值),另有用于引导范围外问题的Deferred task verbs区块和一个Command appendix。
此技能假定主机已安装 DOCA(或正在运行 NGC DOCA 容器),并配备支持 DPA 的设备;操作员拥有绑定设备及分配工具所需 DPA 执行资源的权限。
此技能明确不提供的内容
此技能是Agent 指引,不是示例或脚本包。为保持边界清晰,此技能 明确不包含以下内容——也不应通过拉取请求添加:
- 超出随附 README 或已安装
--help文档范围的标志清单默认值原文。 首先从 README 读取默认值,然后再查阅已安装二进制文件的--help。 如果两者都未定义所需的默认值,就停止并请求操作员明确指定,而不是 猜测。标志范围在文档所述范围内因安装而异;文档中的调用方式,以及 已安装版本的--help,才是权威答案。编造标志是最常见的幻觉错误。 - 预先编好的 Kops/sec 示例数值或预期吞吐量数值。 输出因设备、 固件、DOCA 版本、工作负载和平台而异;为某个平台固定的数值会误导 使用其他平台/版本的操作员。随附 README 中的示例数值仅供说明, 不应被 Agent 引用为真实基准。
- 任何语言编写的封装程序、解析器或脚本,用于处理工具的 stdout / CSV。输出格式已有文档说明;如果用户希望据此编写脚本,正确的回答是 “阅读当前指南,并针对你安装的版本编写解析器”。
samples/或reference/子目录。 这是用于文档化 CLI 的轻量 加载器;实质性内容位于公开页面、--help以及用户安装中的随附 README。
加载顺序
- 首先阅读此技能,确认用户的问题
是否属于其范围(用户确实想在支持 DPA 的硬件上调用
doca_flow_dpa_perf,而不是测量 主机 / DPU-CPU Flow 路径)。 - 关于
doca_flow_dpa_perf的测量内容、DPA 与主机之间的 边界、设备前置条件表、工作负载形态 维度、版本叠加说明、错误分类、 可观测性范围和安全策略,请参阅 能力配套文档。 - 关于已记录的调用方式以及先冒烟测试再批量执行的
工作流——
install、configure、build、modify、run、test、debug、use——请参阅任务配套文档。
相关技能
doca-flow/SKILL.md— 本工具在 DPA 路径上测量的 基础库。本工具驱动的 pipe / entry / rule 范围由doca-flow程序代码创建;该库的 pipe 属性和能力范围构成上游背景。doca-dpa— 本工具运行所依赖的 DPA 执行引擎背后的 编程模型。当用户的问题从“测量 DPA 路径”转向“DPA 路径为什么会这样运行”时, 下一步应查看此技能。doca-flow-perf/SKILL.md— 主机 / DPU-CPU Flow 性能工具。跨工具 对比规则位于 能力配套文档中: 指明哪个工具产生了哪个数值。doca-flow-tune/SKILL.md— Flow 调优工具。DPA-perf 数值可作为基线,doca-flow-tune会通过 Flow 程序 修改样本的循环在此基础上进行优化。doca-public-knowledge-map/SKILL.md— 指引至docs.nvidia.com上的公开 DOCA Flow DPA Perf 页面 以及其余公开 DOCA 文档集。doca-version/SKILL.md— DOCA 版本处理的规范 规则。此技能中的## Version compatibility部分是在这些规则之上的精简叠加说明。doca-setup/SKILL.md— 环境准备、 安装验证、大页、NUMA 感知,以及 尚未安装 时使用公开 NGC DOCA 容器的路径。doca-debug/SKILL.md— 跨领域的 调试阶梯。DPA-perf 会呈现自身的错误分类; 若问题根源在 DOCA 以下,该分类会转交给doca-debug。doca-hardware-safety/SKILL.md— 跨领域的硬件安全元策略;此技能的## Safety policy会在此基础上叠加策略。