質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

5538閲覧

WSL2上のPytorchでGPUが使えない

Shinouta

総合スコア12

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2022/06/10 18:22

編集2022/06/11 04:25

発生している問題・エラーメッセージ

自前のGPUでPytorchを動かしてみたいと思い、待ってました CUDA on WSL 2に沿ってセットアップをしていったところ、GPUが認識されませんでした。

bash

1$ python3 -c "import torch; print(torch.__version__, torch.cuda.is_available())" 21.11.0+cu113 False

経緯

以下のように進めていきました。

  1. Windows 11の標準機能でLinuxを動かす、GUIアプリもサクサク のサイトに沿ってUbuntuを入れました。
  2. Windows11, Geforce GTX 1660 Ti, StudioドライバーをNVIDIA公式からWindows11にインストールしました。
  3. CUDA Toolkit 11.3をUbuntuにインストールしました。コマンドは表示されたものに従いました。(インストール中になぜか11.7の文字がたくさんあり、本当に11.3をインストールしたのかわかりません)
  4. python3 -m venvなどを使って、仮想環境でpytorchをインストールしました。Stable, Linux, pip, python, cuda11.3を選択し、pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113を実行しました。

諸情報

  • タスクマネージャーではGPUが認識されており、接続不良はないだろうと考えています。
  • cuDNNというものをインストールする必要があるかもしれない、と分かりましたが、よく分からずインストールして環境を壊したくないのでまだインストールしていません。
  • condaは使っていません。
  • このサイトに従ってcuda-11のパスを通しました。
  • nvidia-smiは以下の通り
$ nvidia-smi Sat Jun 11 13:24:56 2022 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 510.73.08 Driver Version: 512.96 CUDA Version: 11.6 | |-------------------------------+----------------------+----------------------+ | 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 On | N/A | | 25% 33C P8 18W / 120W | 356MiB / 6144MiB | 3% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+

補足情報(FW/ツールのバージョンなど)

  • Windows 11
  • 12th Gen Intel(R) Core(TM) i5-12600KF 3.69 GHz
  • Geforce GTX 1660 Ti 6GHz
  • Python 3.10.5
  • pip 22.0.4
  • Pytorch '1.11.0+cu113'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2022/06/11 04:41 編集

> Windows11, Geforce GTX 1660 Ti, StudioドライバーをNVIDIA公式からWindows11にインストールしました。 https://qiita.com/ksasaki/items/ee864abd74f95fea1efa の「CUDA on WSL 2 の環境構築 (Windows 側)」の「NVIDIA Drivers for CUDA on WSL のインストール」を見ると、Windows用の普通のドライバではなくて、「CUDA on WSL」用のドライバをWindowsにインストールするみたいですが、それは大丈夫でしょうか? 【追記】 https://docs.nvidia.com/cuda/wsl-user-guide/index.html#support-matrix-for-wsl2 の「1.1. NVIDIA Compute Software Support on WSL 2」の表に Use the latest Windows x86 production driver. R495 and later windows will have CUDA support for WSL 2. と書かれてるので、Windows用の普通のドライバで大丈夫になったのかも
Shinouta

2022/06/11 04:52

ご指摘ありがとうございます。 > Windows用の普通のドライバではなくて、「CUDA on WSL」用のドライバをWindowsにインストールするみたいですが、それは大丈夫でしょうか? https://qiita.com/ksasaki/items/ee864abd74f95fea1efa から誘導された以下のNVIDIA Driver Downloadsページにて、 Geforce GTX 1660 Tiを選んだ際の「CUDA on WSL」用ドライバが見当たらなかったので、Windows11用のドライバをインストールしました。もしかしたら私が見落としてしまっただけかもしれません。 > 「1.1. NVIDIA Compute Software Support on WSL 2」の表に Use the latest Windows x86 production driver. R495 and later windows will have CUDA support for WSL 2. と書かれてるので、Windows用の普通のドライバで大丈夫になったのかも そのようですね。ドライバーを再インストールし直すことなく動きました。調べていただきありがとうございます。 https://www.nvidia.com/Download/index.aspx?lang=en-us
guest

回答1

0

自己解決

解決方法

$ nvcc -Vでcuda toolkitのバージョンを確認したところ、やはり11.7が認識されており、CUDA Toolkit 11.3 Downloadsに従ったら11.3をインストールできないことが分かりました。
上記サイトの手順の最後として、$ sudo apt-get -y install cudaではなく$ sudo apt-get -y install cuda-11.3とすることで11.3をインストールすることができました。

次にUbuntuでの CUDAのバージョンの切り替え方を参考に、update-alternativesコマンドをつかって11.7の優先度を11.3よりも下にしました。
$ nvcc -Vでは以下の通りに表示されました。

bash

1nvcc: NVIDIA (R) Cuda compiler driver 2Copyright (c) 2005-2021 NVIDIA Corporation 3Built on Mon_May__3_19:15:13_PDT_2021 4Cuda compilation tools, release 11.3, V11.3.109 5Build cuda_11.3.r11.3/compiler.29920130_0

したがって以下のように表示され、GPUが使えるようになりました。

bash

1$ python3 -c "import torch; print(torch.__version__, torch.cuda.is_available())" 21.11.0+cu113 True

参考

投稿2022/06/11 04:41

Shinouta

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.45%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問