doca-flow-dpa-perf について
DOCA Flow の DPA オフロード経路で更新率と無効化率を測るため、`doca_flow_dpa_perf` の実行を案内するスキルです。DPA 対応ハードウェアを扱う運用担当者、性能エンジニア、開発者、エージェント向けに、実行設定、結果の解釈、障害診断を説明し、ベンチマーク値自体は提供しません。
主な機能
- 01DPA ハードウェアと Flow の前提確認
- 02デバイス役割とワークロード設定の選択
- 03一括実行前の小規模スモークテスト
- 04Kops/sec 向け反復統計の記録
- 05ゼロ操作やセルフテスト失敗の診断
活用シーン
- 01DPA ハードウェアで Flow ルール更新率を測定
- 02DPA オフロード経路とホスト 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 対応ハードウェアで対象となります。ホスト/DPU-CPU Flow パスには使用しないでください。
- 「BlueField でツールの処理数がゼロと表示されます。」 — バーストやキューの軸を変更する前に、 BlueField-3 + VNF モード + PF/VF を確認してください。
手順
以下の読み込み順に従ってください。設定/実行/デバッグについてはタスク用補足ファイルを開いてください。デバイスの分割とワークロードの軸については機能用補足ファイルを開いてください。補足ファイルをすべて開く必要はありません。
最初に確認する場所: これは、DPA アクセラレーション対応の Flow パフォーマンスツール doca_flow_dpa_perf を呼び出すためのツールスキルです。タスク用補足ファイルを開き、まず ## configure で DPA 対応ハードウェア + VNF Flow モード + アクティブ/パッシブのデバイス分割を確認します。次に ## run で、スイープを行う前に少ない操作数でスモークテストを行うフローを確認し、その後 ## test で、信頼できる Kops/sec の数値を得るための評価ループのオーバーレイを確認してください。質問が doca_flow_dpa_perf で何を測定できるか、DPA の前提条件は何か、どのデバイスで実行できるか、または 誤解を招かずに update/disable/self-test の出力をどう解釈するか に関する場合は、機能用補足ファイルを開いてください。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 の数値を得るには、バースト、キュー、完了しきい値、操作数、反復回数をどのように設定すべきですか?」 — 具体例: 「単一のノイズの多い初回反復の急増値ではなく、反復時間の中央値と標準偏差を求めたいです」。タスク用補足ファイルの評価ループのオーバーレイと、機能用補足ファイルの反復統計のルールで回答します。
- 「ツールの処理数がゼロと表示される/ハングする/セルフテストに失敗します。これはどういう意味ですか?」 — 具体例: 「ツールは実行されますが、セルフテストのステップが失敗します」。機能用補足ファイルの段階的なエラー分類と、タスク用補足ファイルのデバッグ手順で回答します。
- 「同じワークロードについて、次のエンジニアが実際に比較できる形で、DPA-perf の数値とホスト側 Flow-perf の数値を併記するにはどうすればよいですか?」 — 具体例: 「同じワークロードのはずなのに、Kops/sec の数値が 2 つあります」。機能用補足ファイルの 4 要素の記録ルールと、ツール名ごとのルールで回答します(ホストツールと DPA ツールは異なるインターフェースであり、どのツールがどの数値を出したかを明記しない限り、数値を相互に置き換えることはできません)。
対象読者
このスキルは、DPA 対応ハードウェア上でDPA オフロードされた Flow 更新パスを、根拠を示せる形で測定する必要がある、外部オペレーター、パフォーマンスエンジニア、DOCA Flow アプリケーション開発者、AI エージェントを対象としています。具体的には、次のような人々です。
- パスセレクターのワークロードを DPA に移行するか、ホスト/DPU-CPU パス上に維持するかを判断するプラットフォームオペレーターで、比較に使える数値を求めている人。
- 特定のデバイスと DOCA バージョンを対象に、下流で有意義な比較ができるよう、*「更新操作、キューサイズ X、バーストサイズ Y、ワーカー N 個での DPA Kops/秒」*というベースラインを作成するパフォーマンスエンジニア。
doca-dpaをすでに使用して Flow ルール更新パスを DPA オフロードに移行し、デバイスの性能を評価したい DOCA Flow アプリケーション開発者。- *「デバイス Y で、DPA オフロードされた Flow パスにはどの程度の更新レートを期待できますか?」*という質問に、データシートの見出しから推測するのではなく、測定値、その測定に使用したコマンドライン、そして測定条件を定めるデバイス、DOCA バージョン、実際のデプロイ環境を添えて、正直に回答する AI エージェント。
このスキルは、ツールのソースコードをデバッグするユーザー向けではありません。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 は、DPA 側のデバイスコードがリンクされた単一の CLI バイナリとして提供されます。このスキルでは、バンドル全体でエージェントのタスク動詞の契約を統一するため、バンドル内のほかのものと同じ kind: tool の 3 ファイル構成を使用します。
言語の範囲
このスキルでは、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 対応デバイスが接続されている(または同等のデバイスパススルーを備えた公開 NGC DOCA コンテナを使用している)状態で、DPA オフロードされた Flow パスの更新/無効化レートを測定するために、ユーザーまたはエージェントが doca_flow_dpa_perf を呼び出す必要があるときは、このスキルを読み込んでください。具体的には、次のような場合です。
- ツールを呼び出す前に、DPA の前提条件(DPA 対応デバイスのクラス、VNF Flow モード、推奨される PF の使用、SF がないこと)を確認する。
- ユーザーのハードウェアに適したアクティブ/パッシブデバイスの構成を選ぶ(2 ポートの BlueField-3 ではアクティブ + パッシブ、1 ポートの ConnectX-9 ではアクティブのみ)。
- ワークロード形状の各軸(バーストサイズ、キューサイズ、完了しきい値、ハッシュパイプアルゴリズム、作業ポリシー、PSL テーブル数、テーブルサイズ、ワーカー数)を選ぶ。
- 提供される README に記載された操作から、操作の種類(更新または無効化/有効化)を選ぶ。
- 反復統計(中央値、最大値、標準偏差)を記録し、根拠を示せる Kops/秒の数値を作成する。
- 階層化されたエラー分類を使って、操作数ゼロ、ハング、またはセルフテスト失敗の実行を診断する。
一般的な DOCA の概要、Flow プログラムの API 作業、インストールについては、このスキルを読み込まないでください。それらについては、doca-public-knowledge-map/SKILL.md、対応する libs/<library> スキル、または doca-setup/SKILL.md を使用してください。ホスト/DPU-CPU Flow パスについても読み込まないでください。その対象読者には doca-flow-perf/SKILL.md が適しています。
このスキルでできること
このスキルは薄いローダーです。詳細な内容は、次の2つの補助ファイルに記載されています。
- 機能補助ファイル —
doca_flow_dpa_perfが測定する対象(具体的には、DPA デバイス上の DPA-Provider による更新/無効化パス)、DPA パスとホストパスの境界、デバイスの前提条件表(ConnectX-7+ / BlueField-3+)、文書化されている VNF 専用 Flow モードのルール、PF と VF と SF のルール(DPA では SF はサポートされません)、ワークロード形状の軸(バースト、キュー、完了しきい値、ハッシュパイプアルゴリズム、作業ポリシー、PSL テーブル、テーブルサイズ、ワーカー)、操作の軸(更新と無効化/有効化)、バージョンのオーバーレイ(このツールはリンク先のdoca-flowとdoca-dpaのバージョンに依存します。正式なルールはdoca-version/SKILL.mdに記載されています)、階層化されたエラー分類(config-syntax / device-binding / dpa-precondition / workload-precondition / measurement-soundness / self-test / version / cross-cutting)、可観測性の対象(反復統計、セルフテストのパスセレクター検証、tcpdump 側でのトラフィック検証)、安全対策(大量実行の前にスモークテストを行う、4 タプルをキャプチャする、数値を生成したツール名を明記する)。 - タスク補助ファイル — 対象範囲内のタスク動詞に関する手順(
install(セットアップに案内します。バイナリは同梱されています)、configure(DPA の前提条件と、アクティブ/パッシブデバイスおよびワークロード形状の決定)、build(インストールに案内します。バイナリは同梱されています)、modify(拒否します。変更するのはバイナリではなく、呼び出し方法です)、run(大量実行の前にスモークテストを行う)、test(評価ループ)、debug(階層化された診断)、use(キャプチャした数値を利用する))、および対象範囲外の質問への案内を記載したDeferred task verbsブロックとCommand appendix。
このスキルは、DOCA がすでにインストールされている(または NGC DOCA コンテナーが実行中の)DPA 対応デバイス上のホストを想定しています。また、オペレーターには、デバイスをバインドし、ツールが必要とする DPA 実行リソースを割り当てる権限があることを前提とします。
このスキルに意図的に含めていないもの
このスキルはエージェント向けガイダンスであり、サンプルやスクリプトのバンドルではありません。境界を明確に保つため、意図的に次のものは含めていません。プルリクエストで追加しないでください。
- 同梱の README またはインストール済みの
--helpに記載されている内容を超える、フラグ一覧の既定値を逐語的に記載したもの。 まず README から既定値を確認し、記載がなければインストール済みバイナリの--helpを参照してください。必要な既定値がどちらにも定義されていない場合は、推測せずに作業を中断し、オペレーターに明示的な値を指定してもらってください。フラグの仕様は、文書化された範囲内でもインストール環境によって異なります。文書化された呼び出し方法と、インストール済みバージョンの--helpが、信頼できる情報源です。フラグをでっち上げることが、最もよくあるハルシネーションの失敗です。 - あらかじめ用意された Kops/sec の例や、想定スループットの数値。 出力はデバイス、ファームウェア、DOCA のバージョン、ワークロード、プラットフォームに固有です。あるプラットフォームの固定値は、別のプラットフォームやバージョンを使うオペレーターを誤解させます。同梱の README にある数値の例は参考例であり、エージェントが確定値として引用すべき基準値ではありません。
- ツールの標準出力/CSV を読み込む、いかなる言語のラッパー、パーサー、スクリプト。 出力形式は文書化されています。ユーザーがそれを使ったスクリプトを求めている場合は、「最新のガイドを読み、インストール済みバージョンに合わせてパーサーを作成する」と案内するのが適切です。
samples/またはreference/サブツリー。 このスキルは、文書化された CLI 用の薄いローダーです。詳細な内容は、公開ページ、--help、およびユーザーのインストール環境に同梱された README にあります。
読み込み順序
- 最初にこのスキルを読み、ユーザーの質問が対象範囲内であることを確認します(ユーザーがホスト/DPU-CPU Flow パスの測定ではなく、DPA 対応ハードウェア上で実際に
doca_flow_dpa_perfを実行しようとしていることを確認します)。 doca_flow_dpa_perfの測定内容、DPA とホストの境界、デバイスの前提条件の表、ワークロード形状の軸、バージョンオーバーレイ、エラー分類、可観測性の範囲、安全性の方針については、機能に関する補足資料を参照してください。- 文書化された実行方法と、スモークテストを先に実施してから一括処理するワークフロー(
install、configure、build、modify、run、test、debug、use)については、タスクに関する補足資料を参照してください。
関連スキル
doca-flow/SKILL.md— このツールが DPA パスで測定するパイプラインを提供する基盤ライブラリです。このツールが操作するパイプ/エントリー/ルールの範囲は、doca-flowのプログラムコードによって作成されます。ライブラリのパイプ属性と機能の範囲が上流のコンテキストとなります。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— 環境の準備、インストールの確認、Hugepages、NUMA の認識、および公開 NGC DOCA コンテナーを使う インストールがまだない場合 の手順を扱います。doca-debug/SKILL.md— 分野横断的なデバッグ手順です。DPA-perf には独自のエラー分類があります。原因が DOCA より下の層にあると分かった場合は、その分類からdoca-debugに引き継ぎます。doca-hardware-safety/SKILL.md— このスキルの## Safety policyが補足する、分野横断的なハードウェア安全性の基本方針です。