• HOME
  • カテゴリー
    • ネットサービス
    • 備忘録
    • Android
      • Xperia
    • Apple
      • Mac
      • iPhone
    • 商品レビュー
    • Xperiaアンバサダー
    • Windows
    • ソフトウェア
  • 当ブログと管理人について
  • お問い合わせ
ふうせんの情報発信部屋
  • Home
  • 備忘録
    中古のOMEN by HP 45Lを買ったら、内蔵SSDの異常で苦しめられた話

    中古のOMEN by HP 45Lを買ったら、内蔵SSDの異常で苦しめられた話

    格安で売られている「Microsoft Office 365 Family」はちゃんと使えるのか?

    格安で売られている「Microsoft Office 365 Family」はちゃんと使えるのか?

    話題の「パルワールド」のサーバーをSynology NASで構築する

    話題の「パルワールド」のサーバーをSynology NASで構築する

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    とあるDiscordサーバーに入っていたら、Steamアカウントを乗っ取られそうになった話

    とあるDiscordサーバーに入っていたら、Steamアカウントを乗っ取られそうになった話

    【脱VPS計画①】月額1,320円で固定IPが取得出来る「ZOOT NEXT」を契約してみました

    【脱VPS計画①】月額1,320円で固定IPが取得出来る「ZOOT NEXT」を契約してみました

    【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

    【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    Synology NASに搭載したM.2 SSD内のVMはどれだけパフォーマンスがよくなるのか

    Synology NASに搭載したM.2 SSD内のVMはどれだけパフォーマンスがよくなるのか

  • 商品レビュー
    MX Mechanical Mini、みんな高評価だけどクセつよすぎん?

    MX Mechanical Mini、みんな高評価だけどクセつよすぎん?

    Steam Deckに取り付けられる拡張ドック「Kokucho Play」レビュー – 良い商品なのに存在が薄すぎる

    Steam Deckに取り付けられる拡張ドック「Kokucho Play」レビュー – 良い商品なのに存在が薄すぎる

    約4万円で買えるJAPANNEXTの31.5インチ 4K IPSディスプレイは買いなのか?【JN-IPS315UHDR】

    約4万円で買えるJAPANNEXTの31.5インチ 4K IPSディスプレイは買いなのか?【JN-IPS315UHDR】

    日本の中小企業製GaN搭載PD3.1対応140Wアダプターが超いい!「アドテック 140W充電器」

    日本の中小企業製GaN搭載PD3.1対応140Wアダプターが超いい!「アドテック 140W充電器」

    Magsafe 2 MacBook Pro 15インチをUSB-Cで充電する!

    Magsafe 2 MacBook Pro 15インチをUSB-Cで充電する!

    超爆速SSD「FireCuda 520」でRAIDを組んだりいろいろ試してみた。ただし、PCIeのリビジョンに注意

    超爆速SSD「FireCuda 520」でRAIDを組んだりいろいろ試してみた。ただし、PCIeのリビジョンに注意

    このご時世だからこそ!DAZNをDELL XPS 13 9380で楽しむ!

    このご時世だからこそ!DAZNをDELL XPS 13 9380で楽しむ!

    機動性・サイズ感抜群の「XPS 13」を使ってみた!

    機動性・サイズ感抜群の「XPS 13」を使ってみた!

    最新規格ax対応「ROG Rapture GT-AX11000」を使ってみた!

    最新規格ax対応「ROG Rapture GT-AX11000」を使ってみた!

  • Android
    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    CleanMyMac Xは割引で買うとめちゃお得

    CleanMyMac Xは割引で買うとめちゃお得

    Synology NAS関連の記事まとめ(2018/06/27現在)

    Synology NAS関連の記事まとめ(2018/06/27現在)

    私の電車の中の暇つぶしはブログ更新?

    私の電車の中の暇つぶしはブログ更新?

    【追記】May J.のLet It Go ?ありのままで? エンドソングは音割れしている?

    • Xperia
  • Apple
    • 全て
    • AirPods
    • Apple Watch
    • iPad
    • iPhone
    • Mac
    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Sequoiaをインストールする方法

    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Sequoiaをインストールする方法

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    Windows 11のスマホ連携リンクアプリが限定的ながらもiPhoneに対応、まずはインサイダーから

    Windows 11のスマホ連携リンクアプリが限定的ながらもiPhoneに対応、まずはインサイダーから

    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Venturaをインストールする方法

    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Venturaをインストールする方法

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    ライブアクティビティやiCloud共有写真ライブラリなどに対応したiOS /iPadOS 16.1リリース

    ライブアクティビティやiCloud共有写真ライブラリなどに対応したiOS /iPadOS 16.1リリース

    新型Apple TV 4Kに付属するSiri RemoteがUSB-Cに移行したらしいよ

    新型Apple TV 4Kに付属するSiri RemoteがUSB-Cに移行したらしいよ

    Apple Music、Apple TV、iCloud写真連携がWindowsにやってくる

    Apple Music、Apple TV、iCloud写真連携がWindowsにやってくる

    iOS16.1最新ベータ版にて、第2世代AirPods Pro以外での「適応型環境音除去」のトグルが削除

    iOS16.1最新ベータ版にて、第2世代AirPods Pro以外での「適応型環境音除去」のトグルが削除

    • iPhone
    • iPad
    • Mac
    • Apple Watch
結果なし
全ての結果を表示
  • Home
  • 備忘録
    中古のOMEN by HP 45Lを買ったら、内蔵SSDの異常で苦しめられた話

    中古のOMEN by HP 45Lを買ったら、内蔵SSDの異常で苦しめられた話

    格安で売られている「Microsoft Office 365 Family」はちゃんと使えるのか?

    格安で売られている「Microsoft Office 365 Family」はちゃんと使えるのか?

    話題の「パルワールド」のサーバーをSynology NASで構築する

    話題の「パルワールド」のサーバーをSynology NASで構築する

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    とあるDiscordサーバーに入っていたら、Steamアカウントを乗っ取られそうになった話

    とあるDiscordサーバーに入っていたら、Steamアカウントを乗っ取られそうになった話

    【脱VPS計画①】月額1,320円で固定IPが取得出来る「ZOOT NEXT」を契約してみました

    【脱VPS計画①】月額1,320円で固定IPが取得出来る「ZOOT NEXT」を契約してみました

    【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

    【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    Synology NASに搭載したM.2 SSD内のVMはどれだけパフォーマンスがよくなるのか

    Synology NASに搭載したM.2 SSD内のVMはどれだけパフォーマンスがよくなるのか

  • 商品レビュー
    MX Mechanical Mini、みんな高評価だけどクセつよすぎん?

    MX Mechanical Mini、みんな高評価だけどクセつよすぎん?

    Steam Deckに取り付けられる拡張ドック「Kokucho Play」レビュー – 良い商品なのに存在が薄すぎる

    Steam Deckに取り付けられる拡張ドック「Kokucho Play」レビュー – 良い商品なのに存在が薄すぎる

    約4万円で買えるJAPANNEXTの31.5インチ 4K IPSディスプレイは買いなのか?【JN-IPS315UHDR】

    約4万円で買えるJAPANNEXTの31.5インチ 4K IPSディスプレイは買いなのか?【JN-IPS315UHDR】

    日本の中小企業製GaN搭載PD3.1対応140Wアダプターが超いい!「アドテック 140W充電器」

    日本の中小企業製GaN搭載PD3.1対応140Wアダプターが超いい!「アドテック 140W充電器」

    Magsafe 2 MacBook Pro 15インチをUSB-Cで充電する!

    Magsafe 2 MacBook Pro 15インチをUSB-Cで充電する!

    超爆速SSD「FireCuda 520」でRAIDを組んだりいろいろ試してみた。ただし、PCIeのリビジョンに注意

    超爆速SSD「FireCuda 520」でRAIDを組んだりいろいろ試してみた。ただし、PCIeのリビジョンに注意

    このご時世だからこそ!DAZNをDELL XPS 13 9380で楽しむ!

    このご時世だからこそ!DAZNをDELL XPS 13 9380で楽しむ!

    機動性・サイズ感抜群の「XPS 13」を使ってみた!

    機動性・サイズ感抜群の「XPS 13」を使ってみた!

    最新規格ax対応「ROG Rapture GT-AX11000」を使ってみた!

    最新規格ax対応「ROG Rapture GT-AX11000」を使ってみた!

  • Android
    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    SOURCENEXTの3年版1Passwordは既存アカウントに使うとちょっと面倒だった

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    CleanMyMac Xは割引で買うとめちゃお得

    CleanMyMac Xは割引で買うとめちゃお得

    Synology NAS関連の記事まとめ(2018/06/27現在)

    Synology NAS関連の記事まとめ(2018/06/27現在)

    私の電車の中の暇つぶしはブログ更新?

    私の電車の中の暇つぶしはブログ更新?

    【追記】May J.のLet It Go ?ありのままで? エンドソングは音割れしている?

    • Xperia
  • Apple
    • 全て
    • AirPods
    • Apple Watch
    • iPad
    • iPhone
    • Mac
    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Sequoiaをインストールする方法

    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Sequoiaをインストールする方法

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    iPhone 14 Pro Maxの画面が焼き付いて修理に出したら問題なしで返ってきた話

    Windows 11のスマホ連携リンクアプリが限定的ながらもiPhoneに対応、まずはインサイダーから

    Windows 11のスマホ連携リンクアプリが限定的ながらもiPhoneに対応、まずはインサイダーから

    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Venturaをインストールする方法

    OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Venturaをインストールする方法

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    macOS Ventura対応のOpenCore Legacy Patcher 0.5.0がリリース

    ライブアクティビティやiCloud共有写真ライブラリなどに対応したiOS /iPadOS 16.1リリース

    ライブアクティビティやiCloud共有写真ライブラリなどに対応したiOS /iPadOS 16.1リリース

    新型Apple TV 4Kに付属するSiri RemoteがUSB-Cに移行したらしいよ

    新型Apple TV 4Kに付属するSiri RemoteがUSB-Cに移行したらしいよ

    Apple Music、Apple TV、iCloud写真連携がWindowsにやってくる

    Apple Music、Apple TV、iCloud写真連携がWindowsにやってくる

    iOS16.1最新ベータ版にて、第2世代AirPods Pro以外での「適応型環境音除去」のトグルが削除

    iOS16.1最新ベータ版にて、第2世代AirPods Pro以外での「適応型環境音除去」のトグルが削除

    • iPhone
    • iPad
    • Mac
    • Apple Watch
結果なし
全ての結果を表示
ふうせんの情報発信部屋
結果なし
全ての結果を表示

Proxmox VEとコンシューマ向けGPUでvGPUを無料で試す

vGPUってある種ロマンですよね

ふうせん 投稿者: ふうせん
2023年2月5日
カテゴリー: ソフトウェア, デバイス, 備忘録
この記事は9分で読み終わります。
1
ホーム ソフトウェア
0
シェア
XでシェアLINEで送る
広告

目次

  • 1. vGPUってなに?
  • 2. vGPU化できるGPU
  • 3. 動画にしました!
  • 4. NVIDIAからvGPUドライバをダウンロードする
  • 5. Proxmox VE環境を整備する
  • 6. VMにGPUを追加する
  • 7. vGPUを試す
  • 8. ベンチマーク結果は…?
  • 9. 最後に

こんにちは、風船(@fusen_niconico)です。
今回は、Proxmox VEとコンシューマ向けGPUを用いてvGPU環境を無料で作る方法を試してみます。
基本的に、参考にした海外のサイトでそのまま進めていくだけです。超簡単でした。
なお、理由は後述しますが、あくまで技術検討にとどめておく内容です。
実際に試す方は、自己責任の元でやってみてください。

今回の検証に使うPCは以下の記事で紹介していますので、良ければどうぞ!

新しいPCを買ったぞ!

1 vGPUってなに?

そもそも、vGPUとは何なのでしょうか。
vGPUとは、その名の通り「仮想GPU」といいます。
通常は、1つのGPUを1つのインスタンス(1つのOS)が専有して使用しますが、vGPUは、1つのGPUを仮想化し、複数のインスタンスで共有して使用できるようする、それがvGPUです。

ちなみに、以下のようなGPUが使えるというサービスで、専用GPUの記述がない場合のほとんどが、vGPU技術を使って構築されています。

クラウドに自分だけのコンピュータを!Paperspaceを使ってみた!
クラウドゲーミング「LiquidSky」のベータを試してみた!

本来は、コンシューマ向けGPUではできないよ!

残念ながら、NVIDIA、AMDどちらのGPUも、コンシューマ向けGPU(一般的に売られてるGTX、RTXシリーズとか)ではvGPUはできません。
基本、vGPUはエンタープライズ向けGPUに限定しています。Tesla Pなんとかとか、あの辺の超高いデータセンター向けのGPUです。
なので、本来であればできません。
ですが、有志の方々がパッチを作ってくれているおかげで、ついにコンシューマ向けGPUでvGPUが実現したのです。

やるときは自己責任で!

先ほどの通り、本来vGPUはエンタープライズ向けの機能であり、個人向けではありませんし、コンシューマ向けGPUでは動作しません。
NVIDIA自身もしっかりとお金を徴収した上でその機能を解放している為、あくまで技術検討にとどめておくのが良いと思います。
また、今回使用するパッチも有志の方によるパッチです。特定のバージョンでないと機能しないなど、いろいろと制約があります。
本番環境で試すなどは絶対にやめたほうがいいです。

2 vGPU化できるGPU

今回実施する方法でvGPU化できるGPUに制限があります。
今回の方法が使えるのは

  • GTX 9XXシリーズ
  • GTX 10XXシリーズ
  • RTX 20XXシリーズ

のみとなります。ファームウェアの暗号化などの兼ね合いで、現状はこれらの少し前のGPUしかできないそうです。
最近のRTX 30XXシリーズやRTX 40XXシリーズはできないのでご注意ください。

それでは早速やっていきます!

3 動画にしました!

せっかくなので、動画にしてみました。
環境構築編は以下からご覧頂けます。

OSインストール・ベンチマーク編は以下からご覧頂けます。

4 NVIDIAからvGPUドライバをダウンロードする

NVIDIAから、ホストマシンにインストールするvGPUドライバをダウンロードします。
ここで、ドライバのダウンロードにエンタープライズアカウントが必要になるという1つの壁にぶち当たります。
vGPUの評価版を試したい場合は、アカウントを無料で作成できるので、その方法でアカウントを作成しましょう。
以下からできます。

NVIDIA 仮想 GPU (vGPU) ソフトウェアの 90 日間の無料トライアル – NVIDIA

アカウントが作れたら、NVIDIA DashboardのSoftware Downloadsからドライバを拾いましょう。
必要なドライバは、製品ファミリーがLinux KVM、バージョンが15.1、リリース日がJan 23, 2023となっているものです。ホストPC向けドライバ、ゲストPC向けドライバなど一式入っていて、2GB強あります。
ただし、今回必要なのは、ホストPC向けドライバだけです。

ダウンロードできたら、後でProxmox VE環境へ転送できるように解凍しておきます。

次に、Proxmox環境を作っていきます。

5 Proxmox VE環境を整備する

今回、Proxmox VEをホストPCにインストールし、その環境にVMを作って使用します。
Promox VEのインストールを済ませて、ログイン画面を開けるようにします。

viを使う人は、一手間加えておく

私は、vim派なので、最初にvimを開いた時に矢印キーが使えない事に気づきました。
nanoとかだったらこの設定は多分要りません。
解決方法を書いてあるサイトがあったので、そのサイト通りに設定します。
すぐにvimが本来の状態で使えるようになります。

・設定ファイルを開く
vi ~/.vimrc

・以下記入(vi互換モードのoff)
set nocompatible

・以下記入(Backspaceの有効化)
set backspace=indent,eol,start

・上書き保存

■Proxmox VEのvimで方向キーがABCDを入力してしまう場合の解決方法 – ネットワーク・サーバー関連備忘録-パラダイムシフト(Paradigm Shift)

Proxmoxのアップデートができるようにする

インストールしたてのままでは、サブスクリプション契約者だけが利用できるパッケージソースのみが登録されています。
以下のコマンドを実行して、無償利用者も使えるソースを登録します。以下のソースは、Proxmox 7.3で検証済みです。
古い記事とかだと、bullseyeの部分が古いカーネル向けのままの場合があるので気をつけてください。

echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" >> /etc/apt/sources.list

サブスクリプション契約者向けソースを削除します。

rm /etc/apt/sources.list.d/pve-enterprise.list

これで無償利用においてもアップデートができるようになります。

proxmoxをアップデート&必要になるパッケージをインストール

proxmoxのアップデートと必要になるパッケージをインストールします。

以下のコマンドを順に実行してアップデートします。

apt update
apt dist-upgrade

これから使うvGPU関連ツールをコンパイルするために必要なパッケージをインストールします。

apt install -y git build-essential dkms pve-headers mdevctl

続いて、Rustコンパイラをインストールします。

curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal

インストールできたら、以下のコマンドでパスを通します。

source $HOME/.cargo/env

これで準備は完了です。

IOMMUの有効化とカーネルモジュール関係をいじる

続いて、vGPUの動作に必要なIOMMUとカーネルモジュールの修正、内蔵ドライバのブラックリスト追加を行います。
以下のコマンドで、grubの設定ファイルを開きます。

nano /etc/default/grub

開いたファイルにGRUB_CMDLINE_LINUX_DEFAULT="quiet"という項目があると思います。

quietの後にスペースを入れ、Intelの場合はintel_iommu=on iommu=pt、AMDの場合はamd_iommu=on iommu=ptを追加して保存します。

最後に、以下のコマンドでgrubを更新します。

update-grub

続いて、必要なモジュールが読み込まれるように追加します。

echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" >> /etc/modules

vGPUを有効にするにあたり、NVIDIA謹製のドライバを使用するため、Proxmoxに内蔵されているドライバを無効にします。

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

ここまで設定できたら、カーネル設定を適用するため、以下のコマンドを実行します。

update-initramfs -u -k all

最後に再起動して完了です。

Gitから必要なリポジトリをクローンする

これからの作業で必要になるリポジトリをクローンします。

まずは、パッチファイルなどをrootディレクトリにクローンします。

git clone https://gitlab.com/polloloco/vgpu-proxmox.git

続いて、opt配下にvGPU解除ツールをクローンします。

cd /opt
git clone https://github.com/mbilker/vgpu_unlock-rs.git

そして、vGPU解除ツールのディレクトリに移動して、ビルドします。

cd vgpu_unlock-rs/
cargo build --release

少々時間がかかりますが、気長に待ちましょう。

vGPU解除に必要なファイルを作成する

vgpu_unlock-rsのビルドが完了したら、以下のコマンドを実行して、必要なファイルを作成します。

mkdir /etc/vgpu_unlock
touch /etc/vgpu_unlock/profile_override.toml

続いて、systemdで必要になるディレクトリとファイルを作成します。

mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf

SSHを使って、vGPUドライバをコピーする

SSHを使って、先ほどダウンロードしたvGPUドライバを先ほどの「vgpu-proxmox 」があるディレクトリに転送しておきます。
転送できたら、早速このドライバにパッチを当てていきます。

ドライバにパッチを当てる

ドライバがあるディレクトリに移動し、以下のコマンドを実行して、ドライバに実行権限を付与します。

chmod +x NVIDIA-Linux-x86_64-525.85.27-vgpu-kvm.run

そして、パッチを当てます。

./NVIDIA-Linux-x86_64-525.85.27-vgpu-kvm.run --apply-patch ~/vgpu-proxmox/525.85.27.patch

パッチが当たると、同一ディレクトリ内に、NVIDIA-Linux-x86_64-525.85.27-vgpu-kvm-custom.runが生成されますので、以下のコマンドでパッチ済みインストーラを実行します。

./NVIDIA-Linux-x86_64-525.85.27-vgpu-kvm-custom.run --dkms

インストールができたら、再起動します。

vGPU環境ができたか確認する

以下のコマンドを実行して、ドライバが正しくインストールされているか確認します。

nvidia-smi

以下のような結果が出力されたら、ドライバは正常にインストールされて、動作しています。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.07    Driver Version: 525.85.07    CUDA Version: N/A      |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
|  0%   32C    P8    14W / 180W |     28MiB /  8192MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

続いて、以下のコマンドを実行して、vGPU機能が動作しているか確認します。

mdevctl types

vGPU機能のロックが正しく解除されていれば、以下のように、vGPUプロファイルの一覧が出てきます。

0000:01:00.0
  nvidia-156
    Available instances: 12
    Device API: vfio-pci
    Name: GRID P40-2B
    Description: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=12
  nvidia-215
    Available instances: 12
    Device API: vfio-pci
    Name: GRID P40-2B4
    Description: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=12
  nvidia-241
    Available instances: 24
    Device API: vfio-pci
    Name: GRID P40-1B4
    Description: num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=24
  nvidia-283
    Available instances: 6
    Device API: vfio-pci
    Name: GRID P40-4C
    Description: num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=4096x2400, max_instance=6
  nvidia-284
    Available instances: 4
    Device API: vfio-pci
    Name: GRID P40-6C
    Description: num_heads=1, frl_config=60, framebuffer=6144M, max_resolution=4096x2400, max_instance=4

表示されなかったら、どこかの設定が間違っている可能性があるので見直しが必要です。

vGPU設定を上書きする

先ほどの手順で、/etc/vgpu_unlock/profile_override.tomlというファイルを作成したのを覚えているでしょうか?
このファイルは、vGPUインスタンスのパラメータを上書きするファイルになります。たとえば、割り当てるVRAMや解像度を上書きできます。

先ほどのmdevctl typesを実行して出力されるvGPUプロファイルのNameの項目の末尾に、Q、A、Cがついているものがあると思います。
それぞれ、最適な分野があり

タイプ説明
Qゲームや動画編集など
A仮想アプリケーション(Citrixのようなやつとか)
B事務作業などの簡易的な仮想デスクトップ
CAI、機械学習などの計算重視

となります。
今回のテストでは、ゲームを動作させるつもりなので、Qタイプのプロファイルを探します。

以下のプロファイルを使用することにしました。

nvidia-49
    Available instances: 6
    Device API: vfio-pci
    Name: GRID P40-4Q
    Description: num_heads=4, frl_config=60, framebuffer=4096M, max_resolution=7680x4320, max_instance=6

というプロファイルを使います。

framebufferの値が4096Mでmax_instanceは6なので、今回テストに使用するGTX 1080の8GBでは、VRAMから計算すると2つのvGPUインスタンスを建てられることになりますね。

このプロファイルを上書きする設定を先ほどのファイルに定義します。
例として以下のようになります。

[profile.nvidia-49]
num_displays = 1
display_width = 1920
display_height = 1080
max_pixels = 2073600
framebuffer = 0xEC000000
framebuffer_reservation = 0x14000000

これだけでも動作しますが、このままだとTesla P40としてVMからは認識されるので、GRIDドライバーが必須となります。
一般的に入手可能なQuadroドライバーで動かせるように、さらに以下の記述を追加して、VM上から認識されるGPUを変えてしまいます。今回使用したのはGTX10シリーズのGPUなので、同一アーキテクチャのQuadro P5000にしてみました。以下の記述を先ほどのプロファイル定義の下部に追加することでできました。

pci_device_id = 0x1BB0
pci_id = 0x1BB011B2

これで、VM上からはQuadro P5000として認識されるので、一般的なQuadroドライバーで動作するようになります。
ちなみに、RTXシリーズの場合は、以下の内容にすることでQuadro RTX 6000になります。

pci_device_id = 0x1E30
pci_id = 0x1E3012BA

尚、ドライバーは特定のものでないとダメらしいので、こちらからダウンロードしてください。

6 VMにGPUを追加する

ProxmoxでVMを作ります。作ったVMのハードウェア→追加→PCIデバイスと辿ります。

追加ボタンの左にある詳細設定のチェックをつけ、以下の通り設定して追加ボタンをクリックします。

項目名設定値
デバイスvGPU設定したGPU
MDev 種別先ほど選択したプロファイル
プライマリGPUチェックしない
ROM-Barチェック
PCI-Expressチェック

追加できたら、OSをインストールし、先ほどダウンロードしたQuadroドライバーをインストールします。

その後、Parsecを導入してください。
Parsecの導入方法は以下の記事を参考にしてみてください。

離れた友達とローカル対戦ができるParsecを試してみた!

尚、Installation typeは、Sharedを選びます。こちらにしないと、自動ログインが無効になっている環境のWindows起動直後など、一度もログインしていない状態だとParsecが起動しないので、操作ができなくなってしまいます。

設定ができたら、VMをシャットダウンします。

VMから仮想マシン用のグラフィックカードを外す

シャットダウンできたら、ハードウェア→ディスプレイ→編集をクリックします。

グラフィックカードの値をnoneに変更します。

注意 この設定後、Proxmox Web UI上のコンソールやシェルを経由してのリモートデスクトップができなくなります。そのため、先ほど設定したリモートデスクトップまたはParsec等のアプリで接続が必要になります。

7 vGPUを試す

いよいよvGPUの準備ができました。ParsecからVMに接続します。

デバイスマネージャーを開いて、ディスプレイアダプターを見てみると、Quadro P5000(という名のvGPU GTX 1080)がいることがわかります!
vGPU環境の完成です!

nvidia-smiとnvidia-smi vgpuの結果は以下の通りになります。確かに、vGPUインスタンスができていますね。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.07    Driver Version: 525.85.07    CUDA Version: N/A      |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
|  0%   33C    P8    14W / 180W |   4090MiB /  8192MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A   1815091    C+G   vgpu                             4200MiB |
+-----------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.07              Driver Version: 525.85.07                 |
|---------------------------------+------------------------------+------------+
| GPU  Name                       | Bus-Id                       | GPU-Util   |
|      vGPU ID     Name           | VM ID     VM Name            | vGPU-Util  |
|=================================+==============================+============|
|   0  NVIDIA GeForce GTX 1080    | 00000000:01:00.0             |   0%       |
|      3251636754  GRID P40-4Q    | 0000...  vGPU-01,debug-th... |      0%    |
+---------------------------------+------------------------------+------------+

8 ベンチマーク結果は…?

恐らく皆さん気になるのは、実際にベンチしたらどんなもんなのよ?という所ですよね。
FF15ベンチを1vGPUインスタンスで実行した結果は次のような感じでした。

1vGPUインスタンスでのFF15ベンチ結果

GTX 1080だと約11,000なので、若干スコアが下がっている印象です。CPUのコア数割り当てが4コアなのも影響しているかもしれないと思い、8コアにしてやってみました。
結果としては以下の通りなので、やはりCPUコア数も影響していそうです。
ほぼ物理PCと同等レベルの性能が実現できていますね。

2vGPUインスタンス(いずれもCPU4コア)で動作させた結果は以下のような感じです。

VM1
VM2

平均5,300ぐらいですね。性能がそれぞれのVMで半分ずつ割り当てられた感じになりました。

ちなみに、それぞれのVMに8コア全て割り当てるようにしたら、コアの取り合いになってしまうためか、スコアが平均4,400ほどに落ち込んだので、コアは専有にして動かした方が安定するようですね。

9 最後に

個人でvGPUいる?って聞かれたら困っちゃいますが、所謂ロマンですね。
と言っても、個人でVM走らせたことがある方は、1回はGPUのパワーが恋しくなったことは必ずあるはず。
GPUパススルーだと1VMがGPUを専有してしまうため、複数のVMでGPUを共有したい場合などに、このvGPUができればなーとか思う事もあったので、今回試してみて非常に面白かったです。
環境を整えれば、個人のクラウドゲーミング環境が作れるので、1つのマシンで複数人でゲームをする、なんてこともできますね

正直な話、vGPUを個人でも安価にできるよう、公式が何か用意してくれればなぁと思ってしまいます。でも、難しいのが本音だろうなあ…。

ソース: PolloLoco / NVIDIA vGPU Guide · GitLab
タグ: Proxmox VEPVEvGPU
前の投稿

Steam DeckでSteamOSとWindows 11のデュアルブート環境を作る(rEFInd導入あり)

次の投稿

Windows 11のスマホ連携リンクアプリが限定的ながらもiPhoneに対応、まずはインサイダーから

ふうせん

ふうせん

「ふうせんの情報発信部屋」管理人です。社会人になって早数年が経つけども、未だにガジェット愛は衰えない。 様々な気になった商品を買ってはレビューしていくスタイルへと変更し、忖度のないレビューを実現。今もこれからも本音のレビューをお届け致します。

関連する投稿

利用可能なコンテンツがありません
次の投稿
Windows 11のスマホ連携リンクアプリが限定的ながらもiPhoneに対応、まずはインサイダーから

Windows 11のスマホ連携リンクアプリが限定的ながらもiPhoneに対応、まずはインサイダーから

コメント 1

  1. みの says:
    1年前

    大変参考になりました!
    vGPU環境完成できました
    patchバージョンアップされていました

    返信

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

広告
  • トレンド
  • コメント
  • 最新
2台目のスマートフォンにルンバ (あるいはブラーバ)を追加する方法

2台目のスマートフォンにルンバ (あるいはブラーバ)を追加する方法

2018年11月14日
Steam DeckでSteamOSとWindows 11のデュアルブート環境を作る(rEFInd導入あり)

Steam DeckでSteamOSとWindows 11のデュアルブート環境を作る(rEFInd導入あり)

2022年12月17日
Windows 10を回復ドライブからリカバリーしようとしたときに出るエラーの解決方法

Windows 10を回復ドライブからリカバリーしようとしたときに出るエラーの解決方法

2017年7月4日
【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

2023年6月10日
U-NEXTのカスタマーサービスに電話をしてみたが…

U-NEXTのカスタマーサービスに電話をしてみたが…

65
Apple Battery Chargerの点滅を直す簡単な方法

Apple Battery Chargerの点滅を直す簡単な方法

13
Steam DeckでSteamOSとWindows 11のデュアルブート環境を作る(rEFInd導入あり)

Steam DeckでSteamOSとWindows 11のデュアルブート環境を作る(rEFInd導入あり)

13
【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

【2023年版】直接アップグレード可能!Windows 10アップグレードツールのエラーを回避する方法

7
中古のOMEN by HP 45Lを買ったら、内蔵SSDの異常で苦しめられた話

中古のOMEN by HP 45Lを買ったら、内蔵SSDの異常で苦しめられた話

2025年5月4日
INZONE Budsはリアル5.1chから立体音響できるうえ、チャットデバイスが分かれている

INZONE Budsはリアル5.1chから立体音響できるうえ、チャットデバイスが分かれている

2025年2月9日
格安で売られている「Microsoft Office 365 Family」はちゃんと使えるのか?

格安で売られている「Microsoft Office 365 Family」はちゃんと使えるのか?

2024年9月29日
OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Sequoiaをインストールする方法

OpenCore Legacy Patcherを使ってサポート切れMacにmacOS Sequoiaをインストールする方法

2024年9月19日
広告

関連コンテンツ

  • 当ブログと管理人について
  • プライバシーポリシー
  • お問い合わせ
  • ブログリニューアル紹介

© 2012 - 2022 ふうせんの情報発信部屋 All Rights Reserved.

結果なし
全ての結果を表示
  • HOME
  • カテゴリー
    • ネットサービス
    • 備忘録
    • Android
      • Xperia
    • Apple
      • Mac
      • iPhone
    • 商品レビュー
    • Xperiaアンバサダー
    • Windows
    • ソフトウェア
  • 当ブログと管理人について
  • お問い合わせ

© 2012 - 2022 ふうせんの情報発信部屋 All Rights Reserved.