Skip to navigation

This section covers the prerequisites for deploying and using the Warehouse Blueprint.

Hardware Requirements

The Warehouse Blueprint has been validated and tested on the following NVIDIA GPUs:

  • NVIDIA GB300
  • NVIDIA RTX PRO 6000 Blackwell
  • NVIDIA RTX PRO 4500 Blackwell
  • NVIDIA H100 (NVL, SXM HBM3)
  • NVIDIA L40S
  • NVIDIA IGX-THOR
  • NVIDIA DGX-SPARK

Software Requirements

The following software must be installed on your system:

  • OS:

    • x86 hosts: Ubuntu 24.04
    • DGX Station (GB300): DGX OS 7.6.0
    • DGX-SPARK: DGX OS 7.5.0
    • IGX-THOR (T5000 and T7000): IGX-SW 2.0 Production (LTS), including IGX OS 2.0 (Ubuntu 24.04)
  • NVIDIA Driver:

    • 595.58.03 (x86 hosts with Ubuntu 24.04)
    • 595.58.03 (DGX Station GB300)
    • 580.173.02 (DGX-SPARK)
    • 580.00, bundled with IGX-SW 2.0 (IGX-THOR)
  • NVIDIA Fabric Manager: 595.58.03 (for H100 SXM HBM3 to run local LLM) - See Installation Guide

  • NVIDIA Container Toolkit: 1.17.8+

  • Docker: 28.3.3+ and earlier than 29.5.0

  • Docker Compose: v2.39.1+

  • Docker Buildx: 0.23.0 (working version); 0.23.0 or later and earlier than 0.35.0

  • NGC CLI: 4.10.0+

For detailed installation instructions for the software requirements listed above, see the Appendix:

Runtime Environment Settings

File Creation Permissions

Before cloning the VSS repository, check the user file-creation mode in the shell that you will use to run git clone:

umask

The umask must be 022 or less restrictive so containers that run as a different user can read the cloned files and traverse the host directories mounted into the containers. A more restrictive value, such as 027, can prevent containers from accessing files in the cloned repository. If necessary, change the umask to 022 or a less restrictive value before cloning.

Linux Kernel Settings

# Ensure the sysctl.d directory exists
sudo mkdir -p /etc/sysctl.d
# Write VSS kernel settings to 99-vss.conf (persistent across reboots)
sudo bash -c "printf '%s\n' \
'net.ipv6.conf.all.disable_ipv6 = 1' \
'net.ipv6.conf.default.disable_ipv6 = 1' \
'net.ipv6.conf.lo.disable_ipv6 = 1' \
'net.core.rmem_max = 5242880' \
'net.core.wmem_max = 5242880' \
'net.ipv4.tcp_rmem = 4096 87380 16777216' \
'net.ipv4.tcp_wmem = 4096 65536 16777216' \
> /etc/sysctl.d/99-vss.conf"
# Reload sysctl to apply the new settings
sudo sysctl --system

Cache cleaner (only on DGX-SPARK, IGX-THOR)

Run the cache cleaner script for DGX SPARK and Jetson Thor.

Create the cache cleaner script at /usr/local/bin/sys-cache-cleaner.sh:

sudo tee /usr/local/bin/sys-cache-cleaner.sh << 'EOF'
#!/bin/bash
# Exit immediately if any command fails
set -e
# Disable hugepages
echo "disable vm/nr_hugepage"
echo 0 | tee /proc/sys/vm/nr_hugepages
# Notify that the cache cleaner is running
echo "Starting cache cleaner - Running"
echo "Press Ctrl + C to stop"
# Repeatedly sync and drop caches every 3 seconds
while true; do
sync && echo 3 | tee /proc/sys/vm/drop_caches > /dev/null
sleep 3
done
EOF
sudo chmod +x /usr/local/bin/sys-cache-cleaner.sh

Running in the background

sudo -b /usr/local/bin/sys-cache-cleaner.sh

The above runs the cache cleaner in the current session only; it does not persist across reboots. To have the cache cleaner run across reboots, create a systemd service instead.

VIC clocks (IGX-THOR only)

For IGX Thor, VIC clocks need to be boosted for best performance and latency. Run the following before deployment:

sudo nvpmodel -m 0
sudo jetson_clocks
sudo su
# Run the following in the root shell (after sudo su):
echo performance > /sys/class/devfreq/8188050000.vic/governor

If vss-rtvi-cv fails when streams are added and kernel logs show tegra-vic power-up failures, see FAQ for the IGX Thor NvBufSurfTransform error -2 workaround. Lower FPS may be observed when using this workaround.

Minimum System Requirements

The following requirements ensure reliable performance for real-time video analytics workloads, including GPU-accelerated inference, video decoding, and data streaming. These specifications support processing multiple camera streams simultaneously while maintaining low latency for analytics and alerting.

  • 18 core CPU (x86 systems)
  • 128 GB RAM
  • 1 TB SSD
  • 1 × 1 Gbps network interface

NGC API Key Access

To deploy the Warehouse Blueprint, you need an NGC API key with access to the required resources.

Create an NVIDIA NGC Account

  1. Go to https://ngc.nvidia.com
  2. Click Sign up if you don’t have an account, or Sign in if you do
  3. Complete the registration process with your email address

Generate an API Key

  1. Once logged in, click on your username in the top right corner
  2. Select Setup from the dropdown menu
  3. Navigate to API Keys under the Keys/Secrets section
  4. Click Generate API Key
  5. Click Generate Personal Key (available at both the top-center and top-right of the page)
  6. Provide a descriptive name for your API key (e.g., “Warehouse Blueprint Development”)
  7. Select NGC Catalog for Key Permissions
  8. Click Generate Personal Key
  9. Copy the generated API key immediately - you won’t be able to see it again
  10. Store it securely in a password manager or encrypted file

Keep your NGC API key secure and never commit it to version control systems.

The Cosmos3 Reasoner NIM (1.7.0+) requires a Personal API Key. Legacy NGC API keys are not supported and will fail authentication when pulling or running this container.

Verify Your NGC Access

To verify your NGC key has the correct permissions:

# Set your NGC API key
export NGC_CLI_API_KEY='your_ngc_api_key'
# Test access to the required resources
ngc registry resource list "nvstaging/vss-warehouse/*"
ngc registry resource list "nvidia/vss-core/*"
# Test access to the required images
ngc registry image list "nvidia/vss-core/*"

If you encounter permission errors, contact NVIDIA support for assistance.

Prerequisite Software Installation Guide

Install NVIDIA Driver

NVIDIA Driver version 595.58.03 is required.

You can download the driver directly from: https://www.nvidia.com/en-us/drivers/details/266021/

For detailed installation instructions, refer to the official NVIDIA Driver Installation Guide: https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/index.html

You can also browse drivers for your specific GPU and platform from the NVIDIA Driver Downloads page: https://www.nvidia.com/Download/index.aspx

After installation, verify the driver is correctly installed by running nvidia-smi to confirm the driver version and GPU detection.

NVIDIA Fabric Manager Requirement

NVIDIA Fabric Manager is required on systems with multiple GPUs that are connected using NVLink or NVSwitch technology. This typically applies to:

  • Multi-GPU systems with NVLink bridges (e.g., DGX systems, HGX platforms)
  • Systems with NVSwitch fabric interconnects
  • Hosts running NVIDIA H100, A100, V100, or other datacenter GPUs with NVLink

Fabric Manager is not required for:

  • Single GPU systems
  • Multi-GPU systems without NVLink/NVSwitch (PCIe-only configurations)

For installation instructions, refer to the official NVIDIA Fabric Manager documentation:

Verify Fabric Manager status after installation:

sudo systemctl status nvidia-fabricmanager

Install Docker

Docker version 28.3.3 or later and earlier than 29.5.0 is required. Follow the guide here for installing Docker: https://docs.docker.com/engine/install/ubuntu/

Do not install Docker via snap. The snap-packaged Docker runs inside a confined sandbox with restricted filesystem access, which can perform differently in the deployment process. Install Docker using the official Docker apt repository as linked above.

Run docker without sudo

After installation, complete the Linux post-installation steps so that Docker can run without sudo. See Linux post-installation steps for Docker Engine.

Configure Docker

After installing Docker, you must configure it to use the cgroupfs cgroup driver.

Edit the Docker daemon configuration file:

Add or verify the following entry in /etc/docker/daemon.json:

"exec-opts": ["native.cgroupdriver=cgroupfs"]

This configuration must be included within the JSON object. For example:

{
"exec-opts": ["native.cgroupdriver=cgroupfs"]
}

If your /etc/docker/daemon.json already contains other settings, ensure this entry is added to the existing configuration.

Apply the configuration:

After editing the daemon configuration, restart Docker to apply the changes:

sudo systemctl daemon-reload
sudo systemctl restart docker

Restarting Docker will temporarily stop all running containers. Plan accordingly if you have containers running.

Install Docker Compose

Docker Compose v2.39.1 or later is required. Docker Compose v2 is typically installed as a plugin with modern Docker installations.

Check if Docker Compose is already installed and meets the minimum version:

docker compose version

The default docker-compose-plugin package in Ubuntu repositories may provide a version older than v2.39.1. If the version is missing or too old, install the required version manually. The command selects the binary for the host architecture (x86_64 or aarch64):

sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -fSL "https://github.com/docker/compose/releases/download/v2.39.1/docker-compose-linux-$(uname -m)" \
-o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

Verify installation:

docker compose version

Docker Compose v2 uses the command docker compose (without hyphen) instead of the older docker-compose command.

Install Docker Buildx

Buildx version 0.23.0 or later and earlier than 0.35.0 is required. Version 0.23.0 is the known working version.

Check if Docker Buildx is already installed and meets the version range:

docker buildx version

If the version is missing, older than 0.23.0, or 0.35.0 or newer, install working version 0.23.0. The command selects the binary for the host architecture (x86_64 or aarch64):

case "$(uname -m)" in
x86_64) BUILDX_ARCH=amd64 ;;
aarch64|arm64) BUILDX_ARCH=arm64 ;;
*) echo "Unsupported architecture: $(uname -m)" >&2; exit 1 ;;
esac
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -fSL "https://github.com/docker/buildx/releases/download/v0.23.0/buildx-v0.23.0.linux-${BUILDX_ARCH}" \
-o /usr/local/lib/docker/cli-plugins/docker-buildx
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx

Verify installation:

docker buildx version

Install NVIDIA Container Toolkit

The NVIDIA Container Toolkit is required to run the NVIDIA containers. Follow the guide here for installing the NVIDIA Container Toolkit: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

Install NGC CLI

NGC CLI version 4.10.0 or later is required to download blueprints and authenticate with NGC resources.

Download and install NGC CLI:

For ARM64 Linux:

curl -sLo "/tmp/ngccli.zip" https://api.ngc.nvidia.com/v2/resources/nvidia/ngc-apps/ngc_cli/versions/4.10.0/files/ngccli_arm64.zip

For AMD64 Linux:

curl -sLo "/tmp/ngccli.zip" https://api.ngc.nvidia.com/v2/resources/nvidia/ngc-apps/ngc_cli/versions/4.10.0/files/ngccli_linux.zip

After downloading, install NGC CLI:

sudo mkdir -p /usr/local/bin
sudo unzip -qo /tmp/ngccli.zip -d /usr/local/lib
sudo chmod +x /usr/local/lib/ngc-cli/ngc
sudo ln -sfn /usr/local/lib/ngc-cli/ngc /usr/local/bin/ngc

Verify installation:

ngc --version

Configure NGC CLI with your API key:

ngc config set

When prompted, enter your NGC API key. For information on obtaining an NGC API key, see How to get an NVIDIA NGC API key.

For the latest version of NGC CLI, visit the NGC CLI downloads page: https://ngc.nvidia.com/setup/installers/cli

Setup DGX Station (GB300)

DGX Station ships with DGX OS pre-installed. Warehouse deployments require DGX OS 7.6.0, NVIDIA driver 595.58.03. Follow the standard DGX OS update path, then verify the installed driver with nvidia-smi and confirm that Docker is available before deploying the blueprint.

Setup DGX-SPARK

For setup instructions, see the DGX Spark User Guide.

DGX Spark ships with DGX OS pre-installed and includes Docker, NVIDIA Container Toolkit integration, and NGC access.

VSS deployments require DGX OS 7.5.0, NVIDIA driver 580.173.02. Connect all peripherals and networking before power, and do not interrupt the OOBE software download or automatic reboot.

Setup IGX-THOR

Setup IGX-SW 2.0 Production (LTS), including IGX OS 2.0, via instructions in the Jetson IGX Thor User Guide.

Steps:

  • Setup installs NVIDIA driver 580.00 with the IGX-SW 2.0 stack.
  • For T5000, install from a bootable USB and select Install IGX OS with Real-Time Kernel.
  • For T7000, use a bootable USB or BMC Virtual Media. Update firmware before OS installation and use the iGPU DisplayPort for the monitor.
  • Install the IGX AI software with sudo apt install nvidia-igx-ai and enable the NVIDIA CDI service after the OS installation.

Additional IGX resources:

Use the public IGX-SW 2.0 GA release for customer-facing deployments. Do not use pre-release builds unless the Tegra team has approved an exception.