Nvidia vGPU グラフィック仮想化を OCI にデプロイ (2022/09/01)

Nvidia vGPU グラフィック仮想化を OCI にデプロイ (2022/09/01)

https://blogs.oracle.com/cloud-infrastructure/post/deploy-nvidia-vgpu-graphics-virtualization-on-oci

投稿者: Michael Prestin | Master Principal Cloud Architect


Nvidia 仮想 GPU (vGPU) は、複数の仮想マシン (VM) が VM ホストサーバー上の 1 つの物理グラフィック処理ユニット (GPU) に同時にアクセスできるようにするグラフィック仮想化ソリューションです。この記事では、I/O 仮想化 (SR-IOV) メカニズムを使用して Nvidia Ampere GPU カードで vGPU グラフィック仮想化を構成し、それを Oracle Cloud Infrastructure (OCI) にデプロイする方法について説明します。Nvidia vGPU グラフィック仮想化の詳細については、Nvidia 仮想 GPU ユーザーガイドを参照してください。



Nvidia vGPU ドライバーのダウンロード

vGPU グラフィック仮想化を使用するには、 Nvidia vGPU ソフトウェアのダウンロードで説明されているように、Nvidia から vGPU ドライバーを取得する必要があります。Nvidia Enterprise アカウントを使用して、Nvidia Enterprise Application HUB にログインします。Nvidia のエンタープライズ アカウントを持っていない場合は、90 日間の評価トライアルを開始できます。


Nvidia ライセンス ポータルを開き、[ソフトウェア ダウンロード] を選択します。次のフィルターを適用します。


  • 製品ファミリー: 「VGPU」
  • プラットフォーム: 「Linux KVM」



最新の vGPU ドライバーを含む zip ファイルをダウンロードします。たとえば、vGPU 14.1 をインストールするには、次のファイルが必要です。


NVIDIA-Linux-x86_64-510.73.06-vgpu-kvm.run - vGPU manager for the VM host

NVIDIA-Linux-x86_64-510.73.08-grid.run - vGPU driver for Linux VM guest

512.78_grid_win10_win11_server2016_server2019_server2022_64bit_international.exe - vGPU driver for Windows VM guest


VM ホスト サーバーでの vGPU の構成

次のOCIベアメタルシェイプのいずれかを使用して、Oracle Linux 8でベアメタルGPUインスタンスをデプロイします:


BM.GPU.T1.2 (Bare Metal instance with 2 Nvidia A10 GPU)

BM.GPU.10.4 (Bare Metal instance with 4 Nvidia A10 GPU)


少なくとも 100 GB のブートボリューム領域がある、最新の Oracle Linux 8 非 GPU イメージを選択します。パブリックサブネットを持つ既存のVCNにデプロイするか、SSHポートTCP/22へのイングレストラフィックを有効にするパブリックサブネットを持つ新しいVCNを作成できます。詳細な手順については、OCI での構成を参照してください。


手順に従って、ネットワーク セキュリティ グループ (NSG) が VCN にアタッチされた VLAN を作成し、ゲスト VM の外部アクセスを追加します。Nvidia vGPU を有効にするための Oracle Linux 8 ホストのセットアップ の手順に従って、ホストのセットアップを続行します。


Nvidia ホスト ドライバーをインストールしたら、コマンド nvidia-smi を使用して vGPU の状態を監視できます。



このコマンドの出力には、読み込まれた Nvidia ドライバーのバージョンが表示されます。このコマンドは、利用可能なすべての GPU、GPU 使用率、各 GPU の PCI バス ID、および NVIDIA GPU デバイスの管理と監視に役立つその他の統計情報も表示します。


SR-IOV 仮想機能 (VF) を有効にし、 Nvidia vGPU を有効にするための Oracle Linux 8 ホストのセットアップの説明に従って vGPU デバイスを作成します。デバイスが作成されたことを確認するには、mdevctl list コマンドを使用します。


mdevctl list




デバイスが正しい Nvidia vGPU プロファイルに関連付けられていることを確認します。この例では、nvidia-593 は Nvidia vGPU プロファイル A10-4Q に対応し、nvidia-591 は Nvidia vGPU プロファイル A10-2Q に対応します。


次のコマンドを実行して、サポートされている vGPU プロファイルのリストを取得できます。


mdevctl types


Nvidia vGPU プロファイルの完全なリストと説明については、Nvidia 仮想 GPU の種類と付録 A1.8 を参照してください。


この例では、最初の物理 GPU で A10-4Q プロファイルを使用して 6 つの vGPU デバイスを作成し、2 番目の物理 GPU で A10-2Q プロファイルを使用して 12 の vGPU デバイスを作成しました。プロファイル名のダッシュの後の数字は割り当てられた vGPU メモリで、文字はプロファイルが最適化されるワークロードのタイプを示します。たとえば、4 GB の vGPU メモリでは、次のプロファイルがあります。


A10-4A – Virtual Applications

A10-4Q – Virtual Workstations

A10-4C – Inference Workloads


ワークロードに最も適したプロファイルを選択してください。物理 GPU に関連付けられているすべての vGPU デバイスの合計 GPU メモリは、物理 GPU メモリを超えることはできません。この例では、単一の A10 GPU の GPU メモリは 24 GB です。


Nvidia vGPU を有効にするための Oracle Linux 8 ホストのセットアップ の手順に従って、ホストの構成を完了します。ゲスト VM が接続されている OCI VLAN でネットワーク ブリッジ インターフェースを構成します。ゲスト VM の仮想ディスクが格納されるファイル システムを作成します。このファイル システムを NVMe ローカル ディスク上に作成するか、ブロック ストレージ デバイスを接続してその上にファイル システムを作成することができます。



ゲスト仮想マシンの構成

ホストを構成したら、「 KVM での構成 」の説明に従って、仮想マシンのインストールを開始できます。VM を作成するには、virt-manager UI または virsh-install コマンド ライン ユーティリティを使用できます。VM をインストールするときに、OCI VLAN 外部アクセスで構成したプライベート IP アドレスと一致するように、静的 IP を使用してネットワーク アダプターを設定します。詳細については、「 Windows VM 構成 」を参照してください。


この段階で、VM のプライベート IP に関連付けられたパブリック IP を使用して、リモート デスクトップ プロトコル (RDP) 経由で VM に接続できます。RDP 接続が機能していることを確認したら、VM をシャットダウンし、 Windows VM 構成の説明に従って VM 構成ファイルを編集します。Nvidia ディスプレイ アダプター用の hostdev デバイスを追加し、VM を起動します。


デバイス nanager を開いて、Nvidia Display Adapter がゲスト VM オペレーティング システムで有効になっていることを確認します。




Nvidia vGPU ソフトウェア ライセンス サーバーへの登録

vGPU を Nvidia Software License Server に登録します。vGPU ライセンスは、Nvidia ソフトウェアを通じて適用されます。VM がライセンスの取得に失敗すると、仮想 GPU のパフォーマンスは時間の経過とともに低下します。vGPU バージョン 13.0 以降、Nvidia ライセンス システムは次のタイプのサービス インスタンスをサポートします。


  • クラウド ライセンス サービス (CLS) インスタンス: CLS インスタンスは、NVIDIA ライセンス ポータルでホストされます。
  • Delegated License Service (DLS) インスタンス: DLS インスタンスは、プライベート ネットワークからアクセス可能な場所でオンプレミスでホストされます。

Nvidia vGPU ライセンスを取得して登録する方法の詳細については、NVIDIA ライセンス システム ユーザー ガイドおよびNVIDIA ライセンス システム クイック スタート ガイドを参照してください。


vGPU ライセンスが Nvidia vGPU ソフトウェア ライセンス サーバーに登録されている場合は、Windows クライアント VM で「nvidia-smi -q」を実行することで確認できます。デフォルトでは、nvidia-smi.exe は Windows の c:\Program Files\NVIDIA Corporation\NVSMI フォルダーにインストールされます。コマンドの出力で「License status」を探します。


次のコマンドを使用して、ホストからクライアント ライセンスのステータスを確認することもできます。


nvidia-smi vgpu -q


vGPU を使用するすべてのクライアント VM について、コマンドの出力で「ライセンス ステータス」を確認します。



vGPU の使用状況の監視

ホストで次のコマンドを実行すると、すべてのゲスト VM の vGPU の使用状況を監視できます。


nvidia-smi vgpu -l




vGPU メトリックの拡張リストを表示するには、次のコマンドを使用します。


nvidia-smi vgpu -q


vGPU の使用状況を継続的に照会し、データをファイルにリダイレクトできます。たとえば、10 秒ごとに vGPU にクエリを実行し、データを vgpu.log ファイルにリダイレクトするには、次のコマンドを使用します。


nvidia-smi vgpu -q -l 10 > vgpu.log



まとめ


NVIDIA Ampere アーキテクチャに基づく最新世代の GPU と組み合わせた NVIDIA vGPU ソフトウェアは、視覚化とレンダリングのワークロード、ゲーム、VDI ワークロード、AI ディープラーニング推論を含む幅広いワークロードに対応する、費用対効果が高く拡張性の高いソリューションです。この記事では、Oracle Cloud InfrastructureでNvidia vGPU環境をデプロイおよび構成する方法に関する一般的なガイダンスを提供します。


詳細については、次のリソースを参照してください。

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

Oracle APEXのInteractive Gridで、Oracle Formsと比較して、重複行の検証を制御/通過させる方法 (2022/07/21)

Oracle APEX 24.1の一般提供の発表 (2024/06/17)