Windows 10のHyper-VでGPUパススルーはできない

前回の記事Linux上でROCmが使用できるようになったので、Hyper-V上のゲストLinuxにホストのAMDGPUをパススルーして、ROCmを使用しようとしたらWindows 10が完全にクラッシュしました。

結論を言うと、Windows 10でGPUパススルーは不可能

以下の記事によると、

DDAは、Windows 10では利用できず、Windows Server 2019はサポート対象であるにも関わらず、動かないようです。つまり、現在公式資料にある方法ではHyper-VGPUを利用出来ない状態です。

とのこと。

qiita.com

以下の記事に従って設定したのですが、 Windows Server 2019の仮想マシンでGPUパススルーをする | ガジェット好きの趣味blog Dismount-VMHostAssignableDeviceコマンドを実行した段階で、プライマリGPUを外してしまったことに気づき、そのままだと作業しにくいのでプライマリGPUを戻そうとしたのですが、結局最後までホストにGPUを戻せませんでした。

Mount-VMHostAssignableDeviceを実行するとブルースクリーンになって「SYSTEM THREAD EXCEPTION NOT HANDLED」と表示されます・・・。どゆこと?引数なしで実行してもブルースクリーンになります。ヤバすぎる。

ぐぐった情報を基に デバイスマネージャーでGPUドライバをアンインストールしたり、 Hyper-Vをアンインストールしたり、 Dismountされたデバイスが記載されているレジストリを削除しようとしたんですが駄目でした。

どうやら上記のことができるのはWindows Server 2019だけで、Windows 10で上記コマンドを実行するとブルースクリーンになるということが判明しました。

結局、たまたま直前にCドライブの完全バックアップを取っていたので、それで復旧させました。 もし皆さんがHyper-Vでパススルーを試す場合は、必ずバックアップを取ってからやってください。