はじめに
WSL2(Ubuntu)にCUDAをインストールするとき、色々とハマって調べて何度もトライしたのでTipsを備忘録用にまとめてみました。
今回はUbuntu 20.04、CUDA 11.7を例にまとめます。
まずは、NVIDIA Driverをインストールしよう
公式サイトを見ながらWindowsにNVIDIA Driverをインストールしましょう。
ダウンロードタイプの、Game ReadyドライバーとStudioドライバーはどちらでも良いです
WSLでLinuxディストリビューションをインストール
以下のサイトを参考にLinuxのディストリビューションをインストールします。
あるいはMicrosoft Storeでインストールしましょう。
例えば、Microsoft Storeで「Ubuntu」と検索して入手できます。
ようやく、CUDA Toolkitをインストール
ここでハマるポイントがあります!!!
まずは以下のサイトにアクセスします。
目的のバージョンを選択します。
この選択後に表示されるコマンドを後で実行していきます。
簡単と思いきや、最後の一行のコマンドを実行するときは一度立ち止まってください。
勢いでやってしまうと後悔します。
CUDA 11.7を入れるときの例を使って説明します。
CUDA Toolkit 11.7 Downloads
Operating SystemからInstaller Typeまで合致するものを選択していきます。
Installer Typeは任意のものを選択します
deb (local) と deb (network) どちらでやってもうまくいきました
すると以下のようなコマンドが表示されます(deb localの場合)。
しつこいですが、これをこのまま実行してはだめです。
ここで先程インストールしたLinuxを開きます。
今回の場合は、WindowsのスタートメニューからUbuntuを開きます。
Linuxを開き、コマンドを実行していきます。
sudo apt-get update
までは勢いよくやりましょう。
問題は最後の一行です。
最後の一行のsudo apt-get -y install cuda
とあるが、
このまま実行しては、だめ!!!
必ず、cuda-<version>
とバージョンを指定すること!!!
このまま実行するとCUDA toolkitの最新版がインストールされてしまいます。
例えば、CUDA 11.7をインストールするときは以下のコマンドを実行します。
$ sudo apt-get -y install cuda-11-7
目的のCUDAがインストールされていることを確認
インストールが終わった後、以下のコマンドを実行して目的のCUDA(今回の場合は11.7)がインストールされることを確認します。
$ apt list --installed | grep cuda
最後に環境設定をしよう
以下のサイトを参考に環境設定をしましょう。
今回はCUDA 11.7なので.bashrc
ファイルに以下を記載します。
export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
あるいはWSL上で以下のコマンドを実行します。
$ echo 'export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
/cuda-11.7/
の部分は入れたバージョンに応じて数字を変更します。
最後にnvcc -V
を実行し、詳細なバージョンが出力されることを確認します。
ちなみにnvidia-smi
を実行すると以下のような画面が出てきます。
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 546.01 Driver Version: 546.01 CUDA Version: 12.3 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
...
この右上のCUDAバージョンは、インストールされているCUDAのバージョンとは関係ないので一致してなくても焦らないでください
間違ってしまった場合
CUDAのバージョンを間違って入れてしまった、やり直したい場合は以下の記事も参考にCUDAをアンインストールして再度トライしてみてください。