Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
中文简介正在准备中。当前显示原文说明。
DOCA Flow packet steering on NVIDIA NICs/DPUs, linked into a C application: match/action pipes, ports, representors, forwarding, hairpin, counters. Trigger on packet steering, classifier, rule-matching, representor, hairpin or 5-tuple-to-queue questions even when "DOCA Flow" is not named. Remote or non-C++ control over gRPC belongs to doca-flow-grpc-server. Also covers pipe validation before hardware programming, Flow/DOCA version match, and Flow API errors. First app: follow the local bundle (doca-setup, doca-programming-guide, doca-flow, doca-public-knowledge-map). Stage 1 pull nvcr.io/nvidia/doca/doca (NGC catalog tag, never invent); Stage 2 needs a real NIC. Then ls samples inside the container; never emit main.c, a Dockerfile, or hand-typed -l flags. Route software-only host pipelines, plain DPDK `rte_flow`, kernel TC, OVS, BFB bring-up, and DPU OS installation elsewhere. DPU OS installation is destructive and always requires explicit confirmation.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
main.c.Follow Loading order below. Open the tasks companion for configure /
modify / debug. Open the capabilities companion for the pipe-spec
schema and safety policy. Do not open every companion file.
For connection tracking, read the tasks companion's flow-ct section
before starting ports: CT initialization is process-global and must precede
port start. Adding CT to running ports requires an approved interruption
and reconstruction from a captured configuration, not a per-port
doca_ctx_start call or reuse of invalidated pipe handles.
When the user is new to DOCA, has docker, has no host DOCA, or asks
for a first Flow app, do this before host pkg-config and before
any source listing:
doca-setup (Stage 1 vs
Stage 2), doca-programming-guide
(modify a shipped sample), this doca-flow skill, and
doca-public-knowledge-map.
Name those skills. Do not invent other skill names.docker pull nvcr.io/nvidia/doca/doca:<tag> and
docker run -it --rm -v $HOME/dev:/work nvcr.io/nvidia/doca/doca:<tag> bash.
Do not invent a Dockerfile. Do not build DOCA from source.docker run): quote this
hand-off — do not skip it for a full tutorial: "Paste back the output
of pkg-config --modversion doca-flow and
ls /opt/mellanox/doca/samples/doca_flow/." Then: "I resume from
doca-programming-guide ## modify step 1 with the real install in
hand." Name a directory that listing shows; copy it. If ls is
empty, stop — do not scaffold. Use doca-flow on that pkg-config
line, not doca-common.main.c, Makefile, Dockerfile, or
hand-typed -l / -L flags. Paste pkg-config --libs doca-flow.When this skill is in scope, the user is asking for DOCA Flow. After
the shipped-sample copy above, the binary you build must link
libdoca_flow and exercise the doca_flow_* lifecycle on the user's
installed DOCA — init, port start, pipe programming, entry commit, and
counter readback under traffic. Copy the call sequence from that
shipped DOCA Flow sample under /opt/mellanox/doca/samples/doca_flow/
and adapt it via ## configure /
the installed header (Ground rule below) and the add-entry table in
Do NOT satisfy a hardware packet-steering / 5-tuple filter request
with kernel tc/flower, iptables/nftables, eBPF/XDP,
OVS, or bare DPDK rte_flow (without DOCA) and call it done.
Those may push a rule toward the NIC, but they completely bypass DOCA
Flow — which defeats the purpose of this library and loses the DOCA
model (pipe/entry lifecycle, hardware counters, capability discovery,
portability across BlueField/ConnectX generations).
"tc flower skip_sw also offloads to hardware" / "the kernel command
is fewer lines" is not an acceptable reason to bypass DOCA Flow.
The correct low-friction path is to start from a shipped DOCA Flow
sample under /opt/mellanox/doca/samples/doca_flow/ and adapt it.
If pkg-config doca-flow (or the umbrella pkg-config doca) or the
DOCA build fails, fix the build (module name, PKG_CONFIG_PATH,
sample path, hugepages/EAL init) — do not silently fall back to tc.
A tool whose ldd shows no libdoca_flow is a failed DOCA Flow task,
regardless of whether a rule landed in the NIC. Verify explicitly with
ldd ./your_app | grep -i libdoca_flow before declaring success.
Never invent a link line. For undefined reference / link
failures, run pkg-config --libs doca-flow plus companion module
names (doca-common, doca-argp, doca-dpdk-bridge, libdpdk)
and paste that output. Those names stay on the pkg-config command;
never turn them into hand-typed -l / -L flags or a guessed
install path. The shipped sample's meson.build dependency() list
is the module set; pkg-config is the only translator into linker
flags.
Where to start: Open the tasks companion to do something (configure / build / modify / run / test / debug); open the capabilities companion when the question is what can Flow express on this version. **You MUST open
any port code** — its bring-up gate decides whether the binary launches
at all, so reading this loader alone is never enough. If DOCA is not
installed yet, route to doca-setup first.
Before quoting any doca_* / DOCA_* identifier, confirm it exists in
the user's installed headers — the header on the machine is ground
truth above prose, the API reference, blog posts, or memory:
for header in "$(pkg-config --variable=includedir doca-common)"/doca_flow*.h; do
grep -n '<candidate_name>' "$header"
# For a multi-line function declaration, print through its closing `);`.
awk '/<candidate_name>[[:space:]]*\(/,/[)][[:space:]]*;/' "$header"
done
DOCA Flow ships no backward-compat alias header, so a
"reasonable-looking" name that is not in the header simply does not
link. Re-derive from a shipped sample
(/opt/mellanox/doca/samples/doca_flow/<name>/) or the guard list in
never from prose.
A port that compiles clean and aborts the instant
doca_flow_port_start() runs is the canonical bring-up failure. The
bring-up gate (probe-before-count, doca_flow_port_cfg_set_port_id() plus
the mode-appropriate device source — doca_flow_port_cfg_set_dev() in
VNF mode or the installed switch sample's doca_dev_rep path — device
taken from launch args not hard-coded, and the binary returning a
non-zero exit from main() if the bridge cannot arm and forward) is
enforced step-by-step in
writing or running port code; do not reconstruct the gate from this summary.
Some requests cannot be satisfied as asked. Refuse and explain — do not silently emit half-correct code — when:
tc, iptables/nftables, eBPF/XDP, OVS, or bare
rte_flow without DOCA). Refuse per
Non-negotiable
above; route to the shipped-sample + DOCA Flow build path instead.Output shape when pushing back:
REFUSED: <one-sentence summary>
Reason: <2-4 bullets, each tied to a hardware or API constraint>
Suggested alternative: <pipe-graph sketch, or "this is not expressible in DOCA Flow">
This gate fires before any code is written: a confidently-wrong pipe costs the user more than an honest refusal plus the legal alternative.
The CLASSES of Flow questions this skill answers (the class is the load-bearing piece; the example is one instance):
Failed to get hws cap / dest action ROOT … err -121." → device-placement signature (not a pipe bug);
the steering plane belongs to the DPU Arm on a SEPARATED_HOST /
NIC-mode BlueField. See the device-placement bullet in
External developers writing applications that consume the DOCA Flow
library — code that calls doca_flow_* (in C/C++, or via FFI from another
language) to program packet steering on a supported NVIDIA NIC/DPU with DOCA
installed at /opt/mellanox/doca. Flow ships as a C library (pkg-config
module doca-flow, package doca-sdk-flow on Ubuntu / RHEL / SLES) and the
samples are C, so C/C++ is the canonical path the the tasks companion examples assume;
other-language consumers reach the same *.so through FFI, and the skill
keeps its API-surface, lifecycle, capability-discovery, error-taxonomy, and
safety guidance language-neutral.
Load when the user is doing hands-on DOCA Flow work on a supported
NVIDIA NIC/DPU with DOCA already installed at /opt/mellanox/doca, in
any language:
pkg-config --modversion doca-flow is the build-time anchor).DOCA_ERROR_* from a Flow call (config mistake vs
missing prerequisite vs unsupported on this hardware / install).doca_flow_ct.h) on top of an existing port
(see ## flow-ct).Do not load for general DOCA orientation, "where do I find docs",
install-layout, or non-Flow library questions — use
doca-public-knowledge-map.
This is a thin loader; substantive material lives in two companion files:
DOCA_ERROR_* overlay, the per-entry / per-pipe observability
surface, version notes, the safety policy, and the CT companion
surface.configure, build, modify, run, test, debug), plus
## flow-ct (stateful-CT overlay), ## shared-resources (shared
encap / decap / counter / meter / RSS / IPsec-SA / PSP overlay),
## rollback (pipeline-edit-class snapshots), ## Command appendix,
and Deferred task verbs for routing install / deploy questions.The skill assumes DOCA is installed at /opt/mellanox/doca and the user can
open a doca_dev. Installing DOCA, hugepages setup, and the EAL dv_flow_en
devargs prep go through doca-setup; the
hugepages / devargs runtime prerequisites a binary needs before a Flow port
starts are pinned in ## configure step 5.
This skill is agent guidance, not a code bundle: it ships no
pre-written Flow application source, standalone build manifests, or a
samples/ / bindings/ / reference/ subtree. The verified Flow
source is the shipped C sample at
/opt/mellanox/doca/samples/doca_flow/<name>/ — the agent routes the
user there and prescribes a minimum-diff edit via the modify-a-sample
workflow in
doca-programming-guide plus
the Flow overrides in ## build, and builds
any manifest in the user's project against the user's install, where
pkg-config --modversion doca-flow is the source of truth.
doca-public-knowledge-map —
routing table for public DOCA docs and the on-disk layout of an
installed package.doca-setup — env prep, install
verification, and the no install yet path via the NGC DOCA
container.doca-programming-guide —
general DOCA patterns shared by every library: the pkg-config +
meson build pattern, the modify-a-shipped-sample first-app workflow,
the universal lifecycle, the cross-library DOCA_ERROR_* taxonomy,
and the program-side debug order. This skill layers Flow specifics
on top.doca-flow-tune —
programmed-state inspection (read-only).doca-hardware-safety —
required overlay for card-mode flips (e.g. mlxconfig change from
SEPARATED_HOST to EMBEDDED_CPU).doca-debug — the cross-cutting debug
ladder (install / version / build / link / runtime / program /
driver).还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
中文简介正在准备中。当前显示原文说明。
Customize NVIDIA Nemotron Voice Agent's Generic Pipecat example for healthcare appointment, five-field patient intake, or custom tool-calling workflows without a separate backend.
中文简介正在准备中。当前显示原文说明。
Calibrate a new dataset from live RTSP camera streams via the AutoMagicCalib REST API. Use when the user provides RTSP URLs or asks to calibrate live cameras; VIOS records clips, AMC ingests them, then runs calibration.
中文简介正在准备中。当前显示原文说明。
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
中文简介正在准备中。当前显示原文说明。
Calibrates pre-recorded `cam_*.mp4` datasets through the AutoMagicCalib REST API. Use for user-supplied local MP4s; route live RTSP streams to `amc-run-rtsp-calibration`.
中文简介正在准备中。当前显示原文说明。
Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.
中文简介正在准备中。当前显示原文说明。