LoginSignup
5
6

More than 5 years have passed since last update.

Hyper-V上のUbuntuでCUDAを導入する Windows 10ではだめでした。。。

Posted at

前回のHyper-V上のUbuntuでCUDAを導入する 準備編で、Hyper-V上でCUDAをGPUパススルーを用いて実現しようとしたのですが、そもそも仕様でそんなことはできないことが判明しました。

こちらの本家ページ Which graphics virtualization technology is right for you?にあるように、DDAという最新機構をもったものがGPUパススルーであり、CUDAを利用するための要件になっているようである。

何が問題か?

勘違いしていた点をまとめておきます。

  • RemoteFXはGPU仮想化の一種ではあるが、純然たるパススルーではなく、ハイパバイザが翻訳するタイプのものらしい。
  • この場合、ドライバもネイティブのものではなくRemoteFXドライバというものをゲストOSに入れる。
  • RemoteFXで対応できるのは、DX11.1, OpenGL4.4, OpenCL1.1まで。なのでGPGPUができないわけではない。
  • それとは別にいわゆるGPUパススルーである、DDAというのが新しいHyper-V に入り、それならCUDAを含めたネイティブのGPUドライバが使える。
  • DDAは現状Windows Server 2016にのみ入っている。ServerとClientOSの違い上の問題で、Windows 10に入れるのは難しい模様。

大体対応表は以下のようになります。
image.png

IOMMUなどの要件はDDA用のものでした。

RemoteFXとDDAの関係

上記資料にある通りですが、わかりやすく書くと、以下のようなイメージのようです。

image.png

以下のようにGPU利用のシナリオを考えると、上からDDA、RemoteFX、WARP(ソフトウェアエミュレーション)が担当するということのようです。

image.png

image.png

他のハイパバイザならWindows10でパススルーに対応しているようなので、そちらを試してみたいと思います。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6