はじめに
これまで、各種の生成 AI は WSL2 Ubuntu 23.10 の上で環境を構築し使用してきました。常々、「ちゃんと構築するなら 22.04 LTSだよなぁ」と考えていました。
まとまった時間が取れましたので、WSL2 Ubuntu 22.04 LTS の上で各種の生成 AI の環境を作り直す事にしました。ゼロから環境構築する際の参考になれば幸いです。
最初に、既にインストールしていた CUDA 11.7 をアンインストールし、新たに CUDA 11.8 と 12.1 の二種類の CUDA をインストールします。複数の CUDA をインストールする理由は、生成 AI により対応する CUDA が異なる為です。CUDA 12.1 に対応していない生成 AI は CUDA 11.8 を使用するように設定します。
続きは以下にリンクを貼ります。
前提となる環境
前提となる環境は、Windows11 WSL2 Ubuntu 22.04 LTS です。python のバージョンは若干古く 3.10.12 になります。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
$ python3 -V
Python 3.10.12
CUDA 11.7 のアンインストール
ググると少々乱暴な削除方法が散見されます。
確実な方法は、インストール方法を逆に実行する事です。下記は CUDA 11.7 をインストールする方法を記載した記事です。
記載されているインストール方法を再掲します。
$ 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.0/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.0-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
それぞれの行が行っている内容は以下の通りです。
- CUDA 用の apt_preference を入手して (パッケージの優先順位を決めるファイル)
- /etc/apt/preferences.d 以下にapt_preference を保管
- パッケージのローカルインストール用の deb パッケージを入手
- deb パッケージをインストール
- gpg の鍵情報を apt の keyrings に保存
- apt update で情報を更新
- apt upgrade で cuda の本体をインストール
この逆の順番で作業すれば、CUDA 11.7 をアンインストールする事が出来ます。
cuda-11-7 を削除 (purge)
インストールの際には 'cuda' を指定してインストールしていましたが、実体は cuda-11-7 という package になります。これを設定ファイルを含めて削除 (purge) します。
インストールしている CUDA のバージョンが不明の場合は、dpkg コマンドで調べる事が出来ます。
$ dpkg -l | grep cuda-1 | tr -s ' '
ii cuda-11-7 11.7.0-1 amd64 CUDA 11.7 meta-package
package の名称が判明したら、その package を purge します。
$ sudo apt-get purge cuda-11-7
この後の作業の為に、/usr/share/keyrings に cp したファイルを特定します。ファイル名を後で使用します。
$ ls /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-*-keyring.gpg
/var/cuda-repo-wsl-ubuntu-11-7-local/cuda-B81839D3-keyring.gpg
cuda-11-7 に依存して install されていた package は不要となるので、まとめて purge します。
$ sudo apt-get --purge autoremove
これで cuda-11-7 と、これに依存していた package を、設定ファイル含めて削除 (purge) できました。
gpg の鍵情報を apt の keyrings から削除
前の項で確認していた、/usr/share/keyrings に保管されていた gpg 鍵情報を削除します。
$ sudo rm /usr/share/keyrings/cuda-B81839D3-keyring.gpg
複数の CUDA をインストールしている場合には、cuda-*-keyring.gpg は複数ありますので注意が必要です。
deb パッケージをアンインストール
インストールに使用した deb package をアンインストールします。
$ dpkg -l | grep cuda-repo | tr -s ' '
ii cuda-repo-wsl-ubuntu-11-7-local 11.7.0-1 amd64 cuda repository configuration files
$ sudo dpkg --purge cuda-repo-wsl-ubuntu-11-7-local
cuda-repository-pin-600 を削除 (必要に応じて)
他に CUDA の別の Version をインストールしていない場合には、/etc/apt/preferences.d/ 以下に cp した cuda-repository-pin-600 を削除します。
$ sudo rm /etc/apt/preferences.d/cuda-repository-pin-600
CUDA 11.7 のアンインストール完了
以上の手順で、CUDA 11.7 を全て消去できました。
一部、/usr/local 以下に directory が残る事がありますので、必要に応じて削除して下さい。
CUDA 11.8 & 12.1 のインストール
CUDA 11.7 が全てアンインストールできましたので、新たに CUDA 11.8 と 12.1 をインストールします。
ダウンロード方法 (CUDA 12.1)
2024年1月5日時点で、CUDA Toolkit の最新版は 12.3 Update 2 です。
古いバージョンをダウンロードするには、このページの下方の 'Archive of Previous CUDA Releases' を選択します。
CUDA Toolkit 12.1.1を選択します。
CUDA 12.1 Update 1 用の選択画面が表示されます。
いつもの様に選択します。
下部にインストール方法が表示されます。
インストール方法 (CUDA 12.1)
手順に沿ってインストールします。
$ 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/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
$ sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
$ sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
$ sudo apt-get update
$ sudo apt-get -y install cuda
CUDA 11.8 のダウンロード・インストール方法
CUDA 11.8 の場合は、
- CUDA Toolkit 12.1 の代わりに CUDA Toolkit 11.8.0 を選択します。
- インストール方法を少し手直しします。
($ 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.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
$ sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
$ sudo apt-get update
$ sudo apt-get -y install cuda-11-8
- 最初の2行は、CUDA 12.1 で実施していますので不要です。
- 最後の行は、cuda-11-8 をインストールします。
CUDA 11.8, 12.1 の両方をインストールした状態
二つのバージョンが問題なくインストールされています。
$ dpkg -l | grep cuda-repo- | tr -s ' '
ii cuda-repo-wsl-ubuntu-11-8-local 11.8.0-1 amd64 cuda repository configuration files
ii cuda-repo-wsl-ubuntu-12-1-local 12.1.1-1 amd64 cuda repository configuration files
$ dpkg -l | grep cuda-1 | tr -s ' '
ii cuda-11-8 11.8.0-1 amd64 CUDA 11.8 meta-package
ii cuda-12-1 12.1.1-1 amd64 CUDA 12.1 meta-package
$ ls -l /etc/alternatives/*cuda*
lrwxrwxrwx 1 root root 20 Jan 4 13:27 /etc/alternatives/cuda -> /usr/local/cuda-12.1
lrwxrwxrwx 1 root root 20 Jan 5 13:18 /etc/alternatives/cuda-11 -> /usr/local/cuda-11.8
lrwxrwxrwx 1 root root 20 Jan 4 13:27 /etc/alternatives/cuda-12 -> /usr/local/cuda-12.1
$ update-alternatives --display cuda
cuda - auto mode
link best version is /usr/local/cuda-12.1
link currently points to /usr/local/cuda-12.1
link cuda is /usr/local/cuda
/usr/local/cuda-11.8 - priority 118
/usr/local/cuda-12.1 - priority 121
cuda-12.1 が優先で、cuda-11.8 も使える状態です。
まとめ
各種生成AI の環境を WSL2 Ubuntu 22.04 LTS に移行する最初の段階として、次の事を行いました。
- インストール済みだった CUDA 11.7 のアンインストール
- 新たに CUDA 11.8 & 12.1 をインストール
アンインストールについては、ググると少々乱暴な手順が紹介されていますので、インストールの逆手順をなぞる方法をまとめました。
インストールした CUDA 11.8 & 12.1 をベースとして、cuDNN のインストールや各種生成 AI を Ubuntu 22.04 LTS へ移行していきます。
今回のアイキャッチ画像
水彩画風の三毛猫を SDXL で生成しました。これは Ubuntu 22.04 LTS に移行した Stable Diffusion WebUI で生成しています。キャットタワーを prompt に含めたのですが、幾度生成しても出てきませんでした…
今回の記事で、昨年1月末より始めたこの日記も 100 記事となりました。また新たなスタートを切る気持ちで、この日記を続けていきます。
GMKtec の N100 Mini PC が Amazon の年始セールでクーポン付きで約1.8万円です。この価格だと複数台買って遊ぶのも面白そうです。
CHUWI の N100 ノート PC もクーポン付きで約4万円。こちらは DDR5 16GB + 512 GB。1月7日までです。
コメント