スポンサーリンク

WSL2 Ubuntu 22.04 LTS の CUDA をバージョンアップする

cat_watercolor
記事内に広告が含まれています。
スポンサーリンク

はじめに

これまで、各種の生成 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

それぞれの行が行っている内容は以下の通りです。

  1. CUDA 用の apt_preference を入手して (パッケージの優先順位を決めるファイル)
  2. /etc/apt/preferences.d 以下にapt_preference を保管
  3. パッケージのローカルインストール用の deb パッケージを入手
  4. deb パッケージをインストール
  5. gpg の鍵情報を apt の keyrings に保存
  6. apt update で情報を更新
  7. 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' を選択します。

Archive of Previous CUDA Releases を選択

CUDA Toolkit 12.1.1を選択します。

CUDA Toolkit 12.1.1 を選択

CUDA 12.1 Update 1 用の選択画面が表示されます。

CUDA Toolkit 12.1 Update 1 の選択画面

いつもの様に選択します。

CUDA Toolkit 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日までです。

コメント

タイトルとURLをコピーしました