Install Dependencies#

Prerequisites

Install KAI Scheduler#

OSMO uses KAI scheduler to run AI workflows at very large scale with Workflow Groups.

For more information on the scheduler, see Scheduler Configuration.

Run these commands from the root of an OSMO repository clone. The checked deployments/charts/osmo/examples/kai-values.yaml file defines the scheduler and admission behavior tested with OSMO.

The converged Quickstart, Self-contained, and Single-plane guides layer the checked deployments/charts/osmo/examples/kai-selectors.yaml file to place KAI components on nodes labeled osmo.nvidia.com/node-pool=control-plane:

global:
  nodeSelector:
    osmo.nvidia.com/node-pool: control-plane

Install the tested KAI Scheduler release with the common values:

helm upgrade --install kai-scheduler \
  https://github.com/NVIDIA/KAI-Scheduler/releases/download/v0.15.3/kai-scheduler-v0.15.3.tgz \
  --namespace kai-scheduler \
  --create-namespace \
  --values deployments/charts/osmo/examples/kai-values.yaml \
  --wait \
  --timeout 10m
kubectl --namespace kai-scheduler wait \
  --for=condition=Available=True \
  --timeout=10m config.kai.scheduler/kai-config
kubectl wait --for=condition=Available \
  --timeout=10m schedulingshard/default
kubectl --namespace kai-scheduler wait \
  --for=condition=Available \
  --timeout=10m deployment --all

Add that selector file after the common --values option only for clusters that use the documented converged node labels. Split compute clusters use their own KAI placement policy. Copy and edit the selector file when a cluster uses a different label.

Note

For newer compatible versions, refer to the official KAI Scheduler release notes .

Install the GPU Operator#

The NVIDIA GPU Operator is required for GPU workloads to be discovered and scheduled.

helm repo add nvidia https://nvidia.github.io/gpu-operator
helm repo update
helm install gpu-operator nvidia/gpu-operator --namespace gpu-operator --create-namespace

Note

For optional observability components such as Grafana, Prometheus, and Kubernetes Dashboard, see Add Observability (Optional).