tao-setup-nvidia-gpu-host について
tao-setup-nvidia-gpu-hostは、Docker、local-docker、KubernetesバックエンドでTAOワークフローを実行するLinux NVIDIA GPUホストを確認・設定するスキルです。確認は既定で読み取り専用で、インストールには承認が必要です。ドライバー、CUDA、コンテナツールキット、および必要に応じてDockerを導入・修復します。
主な機能
- 01GPUホストランタイムの読み取り専用チェック
- 02ドライバー、CUDA、ツールキットのバージョン確認
- 03ディストリビューション別のNVIDIA構成要素の導入・修復
- 04Dockerの任意導入とNVIDIAランタイム設定
- 05Kubernetes GPUノード容量の確認
活用シーン
- 01DockerバックエンドのTAOワークフロー前のホスト確認
- 02承認後のGPUランタイム導入または修復
- 03Kubernetes GPUワーカーの準備状況確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia/ skills --skill tao-setup-nvidia-gpu-hostインストール後、Claude Code で/tao-setup-nvidia-gpu-hostを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigconfig/skillspector-baseline.yamlevals/evals.jsonreferences/skill_info.yamlscripts/setup-nvidia-gpu-host.sh詳細
NVIDIA GPU ホストのセットアップ
単独でインストールしますか? このセッションが TAO skill bank プラグインによって初期化されていない場合は、最初に
tao-setupスキルを実行してください(ホストの事前チェック、認証情報、スキル間の検出)。
docker、local-docker、または kubernetes バックエンドで TAO ワークフローを実行する前に、このセットアップスキルを使用してください。TAO 全体のデフォルトの最小要件は次のとおりです。
- NVIDIA ドライバー
>=580(オープンカーネルモジュールを推奨) - CUDA Toolkit
>=13.0 - NVIDIA Container Toolkit
>=1.19.0 - Docker エンジン —
docker/local-dockerバックエンドの場合にのみインストールされ、Docker が見つからない場合に限ります。選択されるパッケージはディストリビューションのファミリーによって異なります(デフォルトでは Debian 系でdocker.io、RHEL 系でmoby-engine/download.docker.comのdocker-ce、SUSE 系でdocker)。インストールをスキップするには--skip-docker-installを渡してください。
チェックはデフォルトで安全な読み取り専用です。nvidia-smi、CUDA Toolkit のパス、インストール済みの Container Toolkit パッケージのバージョン(dpkg/rpm/nvidia-ctk バイナリのバージョンを使用)、および Docker デーモンの NVIDIA ランタイムのみを調査するため、あらゆる Linux ディストリビューションで動作します。
インストールにはユーザーによる明示的な許可が必要です。--install を付けて再実行してください。次のディストリビューションファミリーではインストールが自動化されています。
| ファミリー | テスト済みのディストリビューション | パッケージマネージャー | 備考 |
|---|---|---|---|
| debian | Ubuntu 22.04 / 24.04、Debian 12(および UBUNTU_CODENAME / VERSION_CODENAME 経由の派生ディストリビューション Pop!_OS、Mint、Zorin、Raspbian、KDE Neon など) | apt-get | NVIDIA の cuda-keyring と Container Toolkit の .list を追加します。Docker には docker.io を使用します($DOCKER_PACKAGE_DEBIAN で上書きできます)。 |
| rhel | Fedora 39 以降、RHEL / Rocky / AlmaLinux 9 および 10 | dnf(または yum) | NVIDIA の cuda-<distro>.repo と Container Toolkit の .repo を追加します。Docker には、利用可能な場合は Fedora の moby-engine を使用し、それ以外の場合は download.docker.com の docker-ce を使用します。 |
| suse | openSUSE Leap 15、SLES 15 | zypper | 同じ NVIDIA の .repo ファイルを追加します。Docker にはディストリビューションの docker パッケージを使用します。 |
| other(Arch、Alpine、Gentoo、NixOS、FreeBSD など) | 該当なし | 該当なし | --install を実行すると、対象バージョンと NVIDIA インストールガイドの URL を明示したエラーが表示されて終了します。手動でインストールしてから、--check-only を再実行してください。 |
クイックスタート
スキルバンクのルートから実行します。
# Check the local Docker backend host.
bash skills/platform/tao-setup-nvidia-gpu-host/scripts/setup-nvidia-gpu-host.sh --backend docker --check-only
# Install or repair after user approval.
bash skills/platform/tao-setup-nvidia-gpu-host/scripts/setup-nvidia-gpu-host.sh --backend docker --install
# Check a Kubernetes GPU worker host.
bash skills/platform/tao-setup-nvidia-gpu-host/scripts/setup-nvidia-gpu-host.sh --backend kubernetes --check-only
⚠️ 注 — 非対話形式で実行する場合(エージェント/スキルの実行): スキルの実行環境にはターミナルがないため、インストーラーの
Continue? [y/N]プロンプトには回答できません。--check-onlyを実行して内容を確認し、ユーザーの承認を得た後、--installコマンドに「はい」を指定するフラグ(--yes)を追加すると、プロンプトなしで処理が進みます。この操作はシステムパッケージ(NVIDIA ドライバー、CUDA Toolkit、NVIDIA Container Toolkit、Docker バックエンドの場合は Docker)のインストールを自動承認し、ホストを変更するため、自分が管理するホストでのみ実行してください。--installをターミナルから直接実行する場合は、代わりにプロンプトが表示されます。
ワークフローの契約
Docker と Kubernetes のワークフローでは、GPU 処理を送信する前にチェックを実行する必要があります。
SB="${TAO_SKILL_BANK_PATH:-${TAO_SKILL_BANK_ROOT:-$PWD}}"
SETUP_SCRIPT="${SB}/skills/platform/tao-setup-nvidia-gpu-host/scripts/setup-nvidia-gpu-host.sh"
bash "$SETUP_SCRIPT" --backend docker --check-only || {
echo "MISSING: TAO GPU host runtime is not ready."
echo "After user approval, run (append --yes for non-interactive agent runs):"
echo " bash \"$SETUP_SCRIPT\" --backend docker --install"
exit 1
}
黙ってインストールしないでください。チェックに失敗した場合は、不足しているものを説明し、修正の許可をユーザーに求めてから、インストールコマンドを実行し、チェックを再実行してください。
モデルランタイムの上書きに関する契約
モデルに上書き設定がない場合は、プラットフォームのデフォルトが適用されます。別の検証済みホストスタックが必要なモデルは、references/skill_info.yaml で指定します。
runtime_requirements:
gpu_host:
min_driver_version: '<version>'
min_cuda_version: '<version>'
min_container_toolkit_version: '<version>'
最終的なプラットフォームの事前チェックの前にこれらの値を読み取り、対応する --min-*-version フラグに渡してください。モデルの最小要件は、そのワークフローに限りプラットフォームのデフォルトより優先されます。他のモデルに対するプラットフォームのデフォルトや要件を書き換えないでください。バージョンチェックでは数値の下限を使用するため、それより後の互換性のあるリリースも条件を満たします。バージョンの下限だけでは特定の GPU アーキテクチャへの対応を証明できないため、選択したイメージを使った GPU スモークテストは必ず実施してください。
インストーラーの処理内容
インストーラーは、検出したディストリビューションファミリーに応じて処理を振り分けます。サポートされているすべてのファミリーで、NVIDIA の CUDA および Container Toolkit リポジトリ(存在しない場合)を追加し、有効な最低バージョンを満たすパッケージをインストールし、必要に応じて Docker をインストールして NVIDIA Docker ランタイムを設定し、実行ユーザーを docker グループに追加します。
共通の手順(すべてのファミリー):
- NVIDIA の CUDA リポジトリが存在しない場合は追加します(apt では
cuda-keyringdeb、dnf/zypper ではcuda-<distro>.repo)。 - NVIDIA の Container Toolkit リポジトリが存在しない場合は追加します(apt では
.list、dnf/zypper では.repo)。 - 実行中のカーネルに対応するカーネルヘッダー/開発用パッケージをインストールします。
- 設定済みのリポジトリから最新のオープンドライバーと Container Toolkit のパッケージをインストールし、
--min-cuda-versionで選択された CUDA Toolkit パッケージをインストールしてから、3 つすべてが有効な最低バージョンを満たしていることを確認します。 - Docker バックエンドを使用していて Docker がない場合は、Docker をインストールします(下記の上書き/オプトアウト用フラグを参照)。デーモンを有効化・起動した後、
systemctlが利用可能であればnvidia-ctk runtime configure --runtime=dockerを実行して Docker を再起動します。 - 実行ユーザー(利用可能であれば
$SUDO_USER、そうでなければ$USER)をdockerグループに追加し、以降のシェルでsudoなしでdockerを実行できるようにします。--skip-docker-groupでこの処理を省略できます。新しいグループメンバーシップは現在のシェルには反映されません。ログアウトして再ログインするか、新しいシェルごとにnewgrp dockerを実行してください。 - 再起動前に検証を通過できるよう、
modprobe nvidiaを試みます。
ファミリー固有のパッケージ選択:
| 手順 | debian-family | rhel-family | suse-family |
|---|---|---|---|
| カーネルヘッダー | linux-headers-$(uname -r) | kernel-devel-$(uname -r)、kernel-headers-$(uname -r) | kernel-default-devel |
| ドライバー | 最新の nvidia-open(上書き:$NVIDIA_DRIVER_PACKAGE_DEBIAN) | 最新の nvidia-driver-cuda、kmod-nvidia-open-dkms(上書き:$NVIDIA_DRIVER_PACKAGE_RHEL、$NVIDIA_DRIVER_KMOD_RHEL) | 最新の nvidia-open-driver-G06-signed-kmp-default(上書き:$NVIDIA_DRIVER_PACKAGE_SUSE) |
| CUDA Toolkit | 有効な最低バージョンから導出したパッケージ。例:cuda-toolkit-13-0 | 同じ | 同じ |
| Container Toolkit | 最新の nvidia-container-toolkit と base/tools/libs をインストール後、最低バージョンを検証 | 同じ | 同じ |
| Docker | docker.io(上書き:$DOCKER_PACKAGE_DEBIAN) | 利用可能であれば Fedora では moby-engine+moby-cli、それ以外では download.docker.com の docker-ce docker-ce-cli containerd.io | docker |
検証
インストール後、次を検証します:
nvidia-smi
nvcc --version
docker info --format '{{json .Runtimes}}' | grep nvidia
sudo docker run --rm --runtime=nvidia --gpus all "$TAO_IMAGE" nvidia-smi -L
検出されたドライバー、CUDA Toolkit、Container Toolkit のバージョンが、TAO 全体またはモデル固有の有効な最低バージョンを満たしている必要があります。その後、選択したイメージの GPU スモークテストを実行してください。バージョン比較だけでは、互換性の証明として不十分です。
Cosmos バックエンドでは、バックエンド契約で指定された Python とエントリーポイントのチェックもスモークテストに追加してください。Cosmos Framework は、root 以外の UID で /workspace/.venv/bin/python を実行し、cosmos_framework.callbacks.tao_status をインポートし、ネイティブの torchrun を検出して、ホストの compute capability が 8.0 と報告された場合は A100 PatchEmbed 互換性マーカーを検証する必要があります。Cosmos-RL は、要求されたアクション実行ファイルを解決し、動画ワークフローではシステムの PyAV をインポートし、制限対象の FFmpeg h264_cuvid デコーダーを解決し、libnvcuvid.so.1 を読み込み、逆伝播に安全な線形 Qwen3-VL PatchEmbed マーカーを検証し、準備済みの qwen3_vl ディレクトリをチェックポイントローダーが受け付けることを検証する必要があります。nvidia-smi のみを通過したコンテナは、Cosmos のトレーニングに使用できる状態ではありません。
Kubernetes に関する注意事項
セルフマネージドの Kubernetes クラスターでは、各 GPU ワーカーノードでホストインストーラーを実行するか、NVIDIA GPU Operator またはデバイスプラグインをインストールする前に、同じパッケージセットをノードイメージに組み込んでください。
ワークフローチェックでは、kubectl が利用可能でも、クラスターが nvidia.com/gpu の割り当て可能な容量を報告していない場合に警告も表示されます。その場合は、ワーカーホストのランタイムが準備できた後に NVIDIA GPU Operator をインストール/設定してください。
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
helm repo update
helm install --wait gpu-operator -n gpu-operator --create-namespace nvidia/gpu-operator
マネージド Kubernetes プロバイダーでは、ノードイメージや GPU Operator のポリシーを通じてドライバーのインストールが管理される場合があります。ユーザーの承認とロールバック計画なしに、プロバイダー管理の GPU ノードを上書きしないでください。
失敗する場合
未対応のディストリビューション系統:--install は、Debian 系、RHEL 系、SUSE 系のホストでインストールを自動化します。Arch、Alpine、Gentoo、NixOS、FreeBSD、または /etc/os-release がない環境(macOS など)では、スクリプトは明確なエラーを表示して終了します。エラーには、4 つのバージョン対象と NVIDIA の上流インストールガイドの URL が記載されます。
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.htmlhttps://docs.docker.com/engine/install/
ディストリビューションのパッケージマネージャーを使って、これら 4 つのコンポーネントをインストールし、スクリプトを --check-only 付きで再実行して検証してください。チェック機能はどの環境でも使用できます。バイナリ/パッケージデータベースを照会するだけなので、ランタイムが配置されていれば、基盤となるディストリビューションに関係なくワークフローの要件を満たせます。
未対応の Ubuntu/Debian 派生ディストリビューション:ID が pop、mint、zorin、raspbian など、Debian 系の派生ディストリビューションである場合、スクリプトは UBUNTU_CODENAME/VERSION_CODENAME(focal/jammy/noble → Ubuntu 20.04/22.04/24.04、bullseye/bookworm/trixie → Debian 11/12/12)を使って、ホストを上流の Ubuntu/Debian CUDA リポジトリに対応付けます。ホストのコードネームが既知の上流リリースに一致しない場合、--install は上記と同じ手動インストールの案内を表示して終了します。
Docker がインストールされていない:--check-only は MISSING: Docker is not installed と報告し、検出されたディストリビューション系統に適した、正確な再実行コマンドを表示します。既定の --install の処理では Docker(系統に応じて docker.io/moby-engine/docker-ce/docker)をインストールし、デーモンを有効化/起動して、NVIDIA ランタイムを設定し、実行ユーザーを docker グループに追加します。Docker を自分で管理する場合は、スクリプトを再実行する前にインストールするか、--skip-docker-install を指定してください。
Docker はインストール済みだが、docker run の実行に引き続き sudo が必要:スクリプトは実行ユーザーを docker グループに追加しますが、Linux では新しいログインセッションが始まるまでグループメンバーシップは更新されません。ログアウトして再ログインするか、新しいシェルを開くたびに newgrp docker を実行し、新しいメンバーシップが有効になるまで続けてください。
Docker ランタイムが引き続き見つからない:Docker を再起動してから、nvidia-ctk runtime configure --runtime=docker を再実行してください。
検出されたバージョンが現在の最小バージョンを下回っている:承認を得たうえで、同じコマンドに --install を付けて再実行してください。モデル固有の --min-*-version フラグはそのまま保持してください。パッケージ名の環境変数による上書きは、ディストリビューション固有のドライバーパッケージを選択するためのものであり、最小バージョンチェックを緩和するものではありません。
ドライバーはインストール済みだが、nvidia-smi が失敗する:sudo modprobe nvidia でモジュールをロードするか、再起動してください。Secure Boot が有効なシステムでは、MOK の登録が必要な場合があります。
Kubernetes に GPU 容量が引き続きない:各 GPU ノードで nvidia-smi を実行してドライバーが動作することを確認し、GPU Operator/デバイスプラグインの Pod とノードラベルを確認してください。