VPSでのマルチGPUセットアップにおけるNVLinkの設定

NVLinkは、NVIDIAの高帯域幅GPUインターコネクトであり、PCIeの制限をはるかに超えて迅速なメモリ共有とデータ転送を可能にすることで、マルチGPUワークロードを革新します。データサイエンティスト、MLエンジニア、またはHPCユーザーにとって、NVLinkは深層学習モデルのトレーニングや大規模シミュレーションなどのタスクを加速できます。たとえば、デュアルA100 GPUを使用してGPUメモリをプールすることで、大規模な言語モデルをより早くトレーニングすることができます。しかし、仮想化環境でのNVLinkの設定は複雑で、特定のハードウェアとセットアップが必要です。このガイドでは、NVLink、そのVPSにおける制限、および最適なパフォーマンスのための設定方法について説明します。

制限事項と注意点

  • すべてのVPSプロバイダーがNVLinkセットアップをサポートしているわけではありません。

  • NVLinkが機能するのは、 ベアメタルベースのVPSまたは専用GPU仮想マシンで、直接パススルーが必要です。

  • Dockerのようなコンテナ化された環境では、ホストで直接実行しない限りNVLinkはサポートされません。

NVLinkとは何ですか?

NVLinkは、2つ以上の互換性のあるNVIDIA GPUが以下を行うことを可能にします:

  • 大規模データセットのためにGPU間でメモリを共有する

  • 合計600 GB/sの帯域幅でデータを交換する

  • CPUの関与なしでより迅速なマルチGPUトレーニングを実行する

サポートされているGPUには以下が含まれます:

  • NVIDIA A100、V100、RTX 3090、4090、A6000など。

  • 通常は物理的なNVLinkブリッジが必要です。

VPSにおけるNVLink:前提条件

VPSでNVLinkを設定する前に、以下を確認してください:

ホストハードウェア

  • 物理サーバーには以下が必要です:

    • 少なくとも2つのNVLink互換GPU

    • NVLinkブリッジがインストールされていること

    • NVLinkをサポートするBIOSおよびファームウェア

  • 一般的な互換性のあるセットアップには、NVLinkブリッジを使用したデュアルA100またはRTX 3090が含まれます。

VPSの設定

  • VPSは、以下のようなGPUパススルーをサポートするハイパーバイザー上にプロビジョニングされる必要があります:

    • KVM/QEMUとVFIO(PCIパススルー)

    • VMware ESXiとDirectPath I/O

    • Proxmox VEとGPUパススルー

⚠️ 注意:NVLinkは仮想化デバイス間では機能しません両方のGPUが同じVMに完全なPCIeデバイスとしてパススルーされる必要があります。

ステップバイステップ:VPSでのNVLinkの設定方法

ステップ1:GPUのパススルーを確認する

ホストは両方の物理GPUを直接VPSにパススルーする必要があります。

KVM/QEMUとVFIOの場合:

# vfio-pciを介して2つのGPUを割り当てる例
echo "vendor_id device_id" > /sys/bus/pci/devices/0000:65:00.0/driver/unbind
echo "vendor_id device_id" > /sys/bus/pci/devices/0000:66:00.0/driver/unbind
echo "vendor_id device_id" > /sys/bus/pci/drivers/vfio-pci/new_id

両方のGPUをパススルーするためにlibvirt またはqemu のXMLを更新します。

ステップ2:NVIDIAドライバーをインストールする

VPS(ゲストOS)内で、最新のNVIDIAドライバーをインストールします:

sudo apt update
sudo apt install -y nvidia-driver-535

インストール後に再起動します。

ステップ3:NVLinkトポロジーを確認する

ゲストOS内に入ったら:

nvidia-smi topo -m

次のように表示されるはずです:

GPU0GPU1CPUアフィニティ
GPU0XNV10-15
GPU1NV1X0-15

ここでNV1はGPU0とGPU1の間でNVLinkがアクティブであることを意味します。

ステップ4:ピアツーピアアクセスを有効にする(オプションですが推奨)

nvidia-smi p2p

ピアツーピアアクセスの両方が有効としてマークされていることを確認してください。

セキュリティに関する考慮事項

  • 隔離されたアクセス:フルGPUパススルーを使用する際は、VPSがオーバーサブスクリプションされていないこと、または他のユーザーと共存していないことを確認してください。

  • 共有メモリの漏洩なし:NVLinkは共有メモリ空間を作成します—信頼できる環境へのアクセスを制限してください。

  • /dev/nvidiaデバイスへのアクセスを監査する*。

NVLinkの問題のトラブルシューティング

 

症状考えられる原因修正
nvidia-smiにNVLinkが表示されないGPUが適切にブリッジされていないホストの電源を切り、物理NVLinkブリッジを再インストールします
1つのGPUのみが表示されるパススルーの誤設定VMのXML/デバイスパススルー設定を確認します
ピアツーピアが無効ドライバーの不一致またはBIOS設定ドライバーをアップグレードし、BIOSでNVLinkサポートを確認します
帯域幅が低いNVLinkレーンが過小利用されているnvidia-smi nvlink –statusを使用してレーンを確認します

 

NVLinkはGPU集約型ワークロードにとってゲームチェンジャーであり、適切に設定されていれば、仮想環境でも巨大なパフォーマンスの利点を提供します。直接GPUパススルーと慎重なセットアップを行うことで、VPS上でマルチGPUインターコネクトの力を活用し、要求の厳しいアプリケーションのための高性能コンピューティングノードに変えることができます。