DeepStream Pipeline Profiler
Measure DeepStream pipelines and derive performance-focused configurations.
The documentation restricts operation to terminal tools, requires read-before-edit, discloses NVTX coverage limits, and provides configuration checks and prebuild steps. However, it permits silent configuration edits, lacks confirmation, rollback, and sensitive RTSP/video data-flow guidance, and suggests sudo or --privileged fallbacks, so points are deducted.
The six-stage flow, failure branches, and diagnostic signals are fairly detailed. Nevertheless, the batch sweep differs between SKILL.md (including 32) and README.md (ending at 16), queue sizing conflicts between ×4 and ×2, referenced scripts/tests are not supplied, and key paths cannot be reproduced statically; therefore the score stays below the static ceiling.
Trigger conditions, non-trigger cases, model-dimension discovery, and source types are clearly described. Fit is limited by hard dependencies on a DeepStream 9.0 container, Nsight Systems, a GPU, and nvidia-smi; Chinese-language support is not addressed, and the core container dependency may be difficult to reach from mainland-China networks.
SKILL.md, README, references, and evaluation material provide useful progressive structure, versioning, ownership, licensing, related skills, and limitations. Deductions apply because there is no clear changelog or durable maintenance/update process, and the scripts/tests claimed by README are absent from the supplied evidence.
The intended output covers tuned configuration, bottleneck classification, capacity, and remediation, and the evaluation report records a pass with some uplift. However, the report is an in-repository claim rather than inspectable execution evidence, no representative output is supplied, and operation remains environment-dependent; the static ceiling is 7 and uncertainty reduces the score.
Commands, formulas, thresholds, decision rules, and an evaluation summary provide audit hooks. Evidence is still limited because no inspectable CI, test suite, or independent corroboration is supplied, and the hardware throughput figures are explicitly described as informal benchmark midpoints; therefore the score remains below the static ceiling.
- Confirm authorization for automatic configuration edits and create a versioned backup for rollback.
- Do not upload Nsight reports, RTSP endpoints, or video content to external services; the data-handling boundary is underspecified.
- Reconcile the batch-sweep and queue-depth rules, and provide inspectable scripts, tests, CI, and maintenance/update records.
- Verify access to the nvcr.io image, Nsight Systems, and dependencies from mainland-China environments; do not assume sudo or --privileged is acceptable.
What does this skill do, and when should you use it?
This skill profiles NVIDIA DeepStream pipelines from the terminal using Nsight Systems and nvidia-smi. It establishes an inference batch plateau through an inference-only micro-benchmark, derives related pipeline settings, and then profiles the end-to-end pipeline. The report includes hardware ceilings, measured FPS, and per-plugin NVTX timings when available. It is model- and pipeline-agnostic across detection, classification, segmentation, VLM, and embedding workflows, subject to its DeepStream 9.0 environment requirements.
Reads the pipeline definition and user configuration to discover model dimensions, target FPS, and source properties; classifies pipeline elements for NVTX coverage; queries GPU, decoder, encoder, and PCIe information with nvidia-smi; sweeps inference batch sizes and records FPS; writes derived values into relevant configuration files; captures a 30-second end-to-end run with nsys profile; extracts kernel, NVTX, memory-copy, and GPU-metric reports with nsys stats; and prints a terse profile summary plus elements that were not directly instrumented.
- A DeepStream engineer building an efficient pipeline for a specific NVIDIA GPU.
- A developer measuring how many video streams can run at a target FPS.
- A user tuning nvinfer, nvstreammux, decoder, tracker, or queue settings.
- A performance engineer investigating per-plugin time in an end-to-end video pipeline.
- A team that needs headless, terminal-only DeepStream benchmarking with Nsight Systems.
What are this skill's strengths and limitations?
- Uses measured inference throughput and hardware ceilings to derive settings instead of relying solely on guesswork.
- Supports file, RTSP, USB-camera, and mixed sources without assuming a particular model, codec, or resolution.
- Runs headlessly with nsys profile, nsys stats, and nvidia-smi.
- Reports available per-plugin NVTX timings and explicitly identifies uninstrumented elements.
- The stated compatibility target is limited to DeepStream SDK 9.0, Ubuntu 22.04/24.04, and the specified NVIDIA container.
- It does not auto-inject NVTX into uninstrumented elements.
- It does not implement an iterative tune-measure-tune loop.
- The supplied material gives no independent test-suite details or benchmark results for this individual skill.
How do you install this skill?
Install the skill with the repository's documented skills CLI command:
npx skills add nvidia/skills --skill deepstream-profile-pipeline --yes
To target Codex explicitly:
npx skills add nvidia/skills --skill deepstream-profile-pipeline --agent codex
The source does not document additional manual installation steps for this individual skill.
How do you use this skill?
Invoke it when creating or analyzing a DeepStream pipeline with an explicit performance request, for example: “Profile this DeepStream pipeline, measure FPS, and tune its configuration from the results.” It runs the stages in order: preset application, NVTX coverage check, hardware discovery, inference micro-benchmark, configuration derivation, and end-to-end profiling. Use the nvcr.io/nvidia/deepstream:9.0-triton-multiarch development container with nsys and nvidia-smi available on PATH.
How does this skill compare with similar options?
The repository positions deepstream-generate-pipeline as the upstream option for ordinary pipeline generation, while this skill applies when creation or analysis includes performance intent. For a newly introduced model, the source recommends using deepstream-byovm first to build the TensorRT engine, then using this profiling skill.