7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows10 Pro Hyper-V で Ubuntu18.04 + CUDA10.1 をインストールしたけどGPUが認識しない話。

Last updated at Posted at 2019-05-01

背景

ついに Sandy Bridge おじさんを卒業しました。
PC を一新したので、とりあえず CUDA 環境作りたいな?と思いました。

旧 PC では GeForce GTX560Ti とかいう化石 GPU で CUDA を触っていましたが、新 PC は GeForce RTX2070 なので、色々とどれくらい早くなるのか試してみたい。

旧 PC では Windows7 と Ubuntu14.04 LTS のデュアルブートで、CUDA は Ubuntu 上で使用していました。
ただ、資料作成とかは Windows 側でするので、開発と資料作成でブート切り替えるのは非常に面倒でした。

というわけで、今回は Ubuntu の仮想環境上に CUDA 環境を構築しようと思いました。
あと、個人的な印象ですが CUDA 環境インストールって失敗しやすくて面倒なイメージが強いんですよね。
何かと失敗するだろうなと言う意味でも、仮想環境が良いかなって思った次第です。

ところで、仮想環境で GPU って認識するんですか?って話ですが、結果的に認識しませんでした。
詰みです。

実験

Windows10 Pro を買ったので標準で搭載されている Hyper-V 使いました。

  • Ubuntu 18.04 LTS
    • Hyper-V のクイックインストールで入るやつ
  • CUDA 10.1
    • 公式のインストール方法をそのまま

これだけです。

結果・考察

正直、lspci コマンドで確認したときから気づいてましたが、Hyper-V では GPU 認識しないっぽいです。
詰みです。
Hyper-V が無理っていうより、DDA ( Discreate Device Assignment ) っていう機能が Hyper-V にはあって、DDA が使えれば GPU を仮想環境から認識できるみたいですが、現状それが使えるのは Windows Server 2016 (今は 2019 も?) くらいみたいです。

以下、参考ページです。
[Hyper-V上のUbuntuでCUDAを導入する Windows 10ではだめでした。。。]
(https://qiita.com/Masutani/items/4309e6f9ca0141a08471)
["Which graphics virtualization technology is right for you?"]
(https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-graphics-virtualization)

ちなみに今流行りの docker とかならいけるか?と思って調べましたが、ホストOSが Windows だと駄目っぽい。
【TensorFlow】Docker for Windowsで動かす機械学習!

その他・知見

CUDA のインストール自体はすんなり行きました。
機械学習で GPGPU が一般的になってパッケージも整理されたのでしょうか。助かります。
HDD 割当容量が足りなくて一回インストール中にディスクフルになったのは内緒です。

直接は関係無いですが、CUDA の主な使用目的として python で tensorflow を使おうと思っていました。
ただ、tensorflow(>=1.13.0)は、CUDA10.0しか対応してないみたいです。
import しようとしたら CUDA のライブラリが無いぞ!!ってキレられました。
何かやりようはありそうですが、そもそも GPU 認識してないのでここで終了です。

今後の予定

仮想環境は詰み、またデュアルブートは嫌ということで、今回の PC では Windows 環境で CUDA 開発環境を整えようと思います。

Windows10 だと WSL (Windows Subsystem for Linux) なんていう機能が標準であるみたい。
Windows で ubuntu のコマンドが使えたり(というかほぼ ubuntu )と、mingw や sygwin, msys が不要な環境を作れるかも?
【WSL入門】第1回 Windows 10標準Linux環境WSLを始めよう

WSLでも、GPU などの ハードウェアはやはり認識しないようですが、WSLはwindows バイナリも動かせるということで、CUDA 対応した python コードを動かせるそうです。
えるしってるか WSLではwindowsのバイナリを実行できる

というわけで、次は windows10 に CUDA をインストールからの WSL 環境構築かなぁ…

7
2
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
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?