TECHNICAL GUIDE
GPU & Guest Tools · GT-01A

Prepare a GPU Host

Install the physical GPU driver, container toolkit, and Docker integration before making GPUs available through STRATUM GPU Fabric.

GPU PROVIDER

Prepare a physical GPU host

On a worker with physical GPUs, STRATUM Host Manager → GPU lists detected devices and their operating mode. Prepare the host driver, container toolkit, and Docker integration before enabling a device as a shared GPU Fabric provider.

The procedure below is an NVIDIA + Ubuntu + Docker example. Select a driver branch supported by both the GPU and the host operating system. It is not a universal command sequence for AMD, Podman, or non-Ubuntu systems.

PER GPU

Choose how STRATUM uses each device

Host Manager supports a separate assignment for each GPU detected on the worker:

  • GPU Fabric: offer the GPU as a shared accelerator resource to the STRATUM Continuum, so eligible VMs can attach a STRATUM GPU.
  • Passthrough: bind the physical GPU to a VM running on this host. Host-driver and NVIDIA-container-toolkit requirements for GPU Fabric should not be confused with VFIO passthrough requirements.
  • Host Only: leave the GPU under host control; STRATUM does not attach or share it.

The GPU Fabric checks are vendor-specific. A GPU assigned to Passthrough or Host Only does not need the NVIDIA Fabric runtime simply to retain that assignment.

READINESS

Understand the Host Manager checks

For an NVIDIA GPU Fabric provider, the Host Manager GPU menu reports three prerequisites. A missing result tells you which layer to fix:

example status before setup
Driver:                  MISSING/NOT WORKING  (nvidia-smi unavailable)
Toolkit:                 MISSING/NOT WORKING  (nvidia-ctk unavailable)
Docker GPU integration:  NOT READY            (nvidia runtime not registered)
UBUNTU / DOCKER

Procedure: NVIDIA GPU Fabric provider

STEP 01

Identify your GPU and select the correct driver branch

Identify the GPU model and available Ubuntu server drivers. The Tesla P4 in this example is a Pascal GPU; R580 is its last supported NVIDIA driver branch. Do not choose R590/R595 or a -open kernel-module package for the P4. Other GPUs may require a different branch.

shell
sudo apt update
sudo apt install -y ubuntu-drivers-common

# Identify the GPUs and see driver branches offered by Ubuntu
lspci -nn | grep -Ei 'NVIDIA|AMD|VGA|3D'
ubuntu-drivers list --gpgpu

# Example ONLY: Tesla P4 / Pascal on a supported Ubuntu release
sudo ubuntu-drivers install --gpgpu nvidia:580-server
sudo apt install -y nvidia-utils-580-server
sudo reboot

Ubuntu’s NVIDIA driver guide documents the --gpgpu flow; refer to the official GPU/driver compatibility matrix for the applicable branch.

STEP 02

Confirm the NVIDIA driver after reboot

nvidia-smi should list the Tesla P4 (or the installed NVIDIA GPU) and its driver version. Check which kernel driver owns the GPU; 83:00.0 is an example PCI address and must be replaced with your GPU’s address.

shell
nvidia-smi

# Replace 83:00.0 with the BDF shown by lspci
lspci -nnk -s 83:00.0

# Expected for the NVIDIA driver:
# Kernel driver in use: nvidia

If the GPU is bound to nouveau, resolve the conflicting driver and, if required, blacklist nouveau and rebuild initramfs following your distribution’s instructions. Reboot and confirm Kernel driver in use: nvidia before proceeding.

STEP 03

Install the NVIDIA Container Toolkit

Add NVIDIA’s signed container-toolkit repository and install the toolkit. This provides nvidia-ctk, NVIDIA’s container runtime, and the host-to-container GPU integration libraries. You do not need the full CUDA development toolkit just to expose GPUs to STRATUM.

shell
sudo apt-get install -y ca-certificates curl gnupg

# NVIDIA repository signing key
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
  | sudo gpg --dearmor -o \
    /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

# NVIDIA stable repository
curl -fsSL \
  https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
  | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
  | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Verify the toolkit command is installed
nvidia-ctk --version

Official instructions: Installing the NVIDIA Container Toolkit. Check the NVIDIA guide if the repository or supported installation command changes.

STEP 04

Register the NVIDIA runtime with Docker

nvidia-ctk updates /etc/docker/daemon.json to register the NVIDIA runtime. It should preserve other settings, such as a custom Docker data-root, but review the configuration before and after. Restarting Docker can interrupt existing containers, so perform this during a maintenance window.

shell
# Recommended: back up an existing Docker daemon configuration
sudo test ! -f /etc/docker/daemon.json || \
  sudo cp -a /etc/docker/daemon.json /etc/docker/daemon.json.before-nvidia

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Confirm Docker advertises NVIDIA as a runtime
docker info | grep -i runtimes
# Expected to include: nvidia

The configured NVIDIA runtime does not need to become Docker’s default runtime. The verification command selects it explicitly.

STEP 05

Verify GPU access from inside a container

Before troubleshooting STRATUM, make sure an ordinary Docker container can see the GPU. The command downloads ubuntu:24.04 if it is not already available.

shell
sudo docker run --rm \
  --runtime=nvidia \
  --gpus all \
  ubuntu:24.04 nvidia-smi

Expected result: an nvidia-smi table showing the physical GPU from inside the container. If this fails, correct the host driver and NVIDIA Docker runtime before continuing.

STEP 06

Recheck STRATUM GPU Fabric prerequisites

Return to stratum-host → GPU, refresh the device information if necessary, and confirm these readiness indicators for an NVIDIA GPU Fabric assignment:

expected Host Manager status
NVIDIA GPU Fabric prerequisites:
  Driver:                  READY
  Toolkit:                 READY
  Docker GPU integration:  READY

Assign each detected GPU to GPU Fabric, Passthrough, or Host Only as required, then save the configuration.

STRATUM CONTAINER

Recreate STRATUM after adding GPUs

Configuring NVIDIA on the host does not add GPU devices to a STRATUM container that was already created. If you add GPU support after STRATUM was installed, recreate the STRATUM container using the supported replacement procedure. This replaces the container without deleting the persistent datacenter state.

From the directory containing stratum-host, and after saving the GPU assignment in Host Manager:

shell
sudo ./stratum-host stop
sudo ./stratum-host remove --yes

# Apply host configuration if GPU policy/settings changed
sudo ./stratum-host apply --yes
sudo ./stratum-host start

For the complete sequence, preservation behavior, or a new image release, see Update STRATUM →. Confirm Host Manager readiness again after the replacement, and verify the device appears in AI Accelerator Fabric.

PERSISTENT STATE IS SEPARATE

The normal stratum-host remove --yes replacement procedure preserves durable STRATUM state in the configured persistent root. Do not delete the persistent root or remove the container directly with Docker as a substitute for Host Manager.

OTHER GPUs

AMD, Podman, and other host platforms

For AMD hardware, use the AMD-supported kernel/compute driver stack and the setup requirements for the installed STRATUM release. nvidia-smi, nvidia-ctk, and the NVIDIA Docker runtime are NVIDIA-specific; do not run these NVIDIA commands for AMD devices. Confirm STRATUM GPU Fabric support for your specific AMD GPU before assigning it as a Fabric provider.

For Podman, container GPU exposure normally follows NVIDIA’s CDI workflow rather than the Docker runtime configuration shown above. Consult the NVIDIA Container Toolkit guide for the selected engine.

Passthrough is a different path: it also needs the appropriate device/IOMMU/VFIO host settings; installing the NVIDIA toolkit alone is not a passthrough setup.

RESULT

The outcome you should see

Host Manager reports the NVIDIA GPU Fabric prerequisites as READY, Docker can run nvidia-smi in a container, and any newly assigned GPUs become available to STRATUM after container recreation.