この夏(2022年)に, 下記のようなスペックのWindows PCを導入した.
CPU : AMD Ryzen7 5800X
RAM : 16GB
OS : Windows 11 Pro
SSD + HDD : 500GB + 6TB
etc : 水冷クーラー
これまではWindowsマシンでUbuntuを使用する場合, VMPlayerやVirtual Boxを利用していた.
しかし今回は, 以前使用していたGeForce GTX1060-6GBを使い, UbuntuからCUDAを使えるようにしたい.
そこで, WSL2を用いてUbuntu環境を構築し, UbuntuでCUDAが利用できるようにしてみた.
ネット上にすでにいろいろと情報はあるが, 一応メモとして記しておく.
1. Ubuntu 20.04環境構築[1]
Windows 10からWSL(Windows Subsystem for Linux)が使用できるようになったことは知っていたが, Windows 11になってより簡単にWSLをインストールできるようだ.
[手順]
① コマンドプロンプトを管理者権限で実行する.
② ディストリビューションを確認する.
C:\Windows\system32>wsl --list --online インストールできる有効なディストリビューションの一覧を次に示します。 'wsl --install -d <Distro>' を使用してインストールします。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling openSUSE-42 openSUSE Leap 42 SLES-12 SUSE Linux Enterprise Server v12 Ubuntu-16.04 Ubuntu 16.04 LTS Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS
③ Ubuntu 20.04を指定してインストールする.
C:\Windows\system32>wsl --install -d Ubuntu-20.04
2. 日本語環境構築[2]
こちらのQiita記事で紹介されているスクリプトを利用させてもらう.
⓵ スクリプトを実行
Ubuntuを起動し, ダウンロードしたスクリプトを実行する.
$ wget https://astherier.com/static/blog/2021-07-11/japanize-wslg.sh $ bash japanize-wslg.sh
スクリプト内でやっている処理について知りたい方は, 記事内の「WSL2 & WSLgを日本語化する(ステップ・バイ・ステップ)」でご確認ください.
② Ubuntuの再起動
先ほどの設定を反映させるために, Ubuntuを再起動する.
③ 入力メソッドの設定
$ fcitx-config-gtk3
入力メソッドの設定が開くので, 「入力メソッド」タブの左下の「+」をクリックし,
- Keyboard - 日本語
- Mozac
を追加する.
「Keyboard - 日本語」が最上位になるように, 位置を修正する.
次に「Keyboard - 英語(US)」を選択し, 「-」をクリックして削除する.
最終的に以下のようになっていればOK.
④ 入力モード切替の設定
「全体の設定」タブで, 入力モードの切り替え「Trigger Input Method」を「Zenkakuhankaku」に指定する.
Emptyになっている場合は, そこをクリックして半角/全角キーを押すと, 半角/全角キーで入力切り替えできるようになる.
⑤ 動作確認
ターミナルソフトなどを起動し, 半角/全角キーで日本語入力モードに切り替え, 日本語入力を試してみる.
$ sudo apt -y install lxterminal $ lxterminal
3. CUDA/cuDNN導入[3]
WSL2でCUDA/cuDNNをインストールする.
⓵ GTX-1060のドライバソフトインストール
ここから, GTX-1060用のWindowsドライバソフトをダウンロードし, インストールする.
② CUDAインストール
ここから, Ubuntu 20.04用のCUDA Toolkitをダウロードし, インストールする.
$ wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin $ sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 $ wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb $ sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb $ sudo cp /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/ $ sudo apt-get update $ sudo apt-get -y install cuda
③ cuDNNインストール
ここから, Ubuntu 20.04用のcuDNNをダウンロードし, インストールする.
$ sudo dpkg -i cudnn-local-repo-ubuntu2004-8.5.0.96_1.0-1_amd64.deb
④ 動作確認
Ubuntuを再起動して, GPUを認識しているか確認する.
$ nvidia-smi Fri Sep 23 10:57:49 2022 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 515.65.01 Driver Version: 516.94 CUDA Version: 11.7 | |-------------------------------+----------------------+----------------------+ | 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:07:00.0 On | N/A | | 40% 33C P8 7W / 120W | 893MiB / 6144MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 376 C /python3.9 N/A | +-----------------------------------------------------------------------------+
とりあえず, Windows上にWSL2を用いたUbuntu環境の構築完了.
あとは, PyTorchやTensorFlow2など, 普段通りに機械学習環境を作ればよい.
----
参照URL:
[1] Windows 11でWSL2がさらに進化、1コマンドで導入可能に
[2] Win11のWSL2 (WSLg)を日本語化 & Mozcで日本語入力
[3] CUDA on WSL :: CUDA Toolkit Documentation