見出し画像

WSL2でCUDA11とCUDA12を共存させる

未来の私宛のメモです。

インストール

CUDA 12

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.3.2/local_installers/cuda-repo-wsl-ubuntu-12-3-local_12.3.2-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-3-local_12.3.2-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3

CUDA 11

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 ではなく、マイナーバージョンまで指定しましょう。

sudo apt-get -y install cuda-11-8

CUDAの切替

現在どのバージョンを用しているかは、以下のコマンドを用いて確認します。

$ update-alternatives --display cuda
cuda - auto mode
  link best version is /usr/local/cuda-12.3
  link currently points to /usr/local/cuda-12.3
  link cuda is /usr/local/cuda
/usr/local/cuda-11.8 - priority 118
/usr/local/cuda-12.0 - priority 120
/usr/local/cuda-12.3 - priority 123
$

切替は--configオプションで起動して、選択肢を選びます。

$ update-alternatives --config cuda
There are 3 choices for the alternative cuda (providing /usr/local/cuda).

  Selection    Path                  Priority   Status
------------------------------------------------------------
* 0            /usr/local/cuda-12.3   123       auto mode
  1            /usr/local/cuda-11.8   118       manual mode
  2            /usr/local/cuda-12.0   120       manual mode
  3            /usr/local/cuda-12.3   123       manual mode

Press <enter> to keep the current choice[*], or type selection number:

もしくは、(むりやり)環境変数なりで順番を変更するなど。

export PATH=/usr/local/cuda-12.1/bin:$PATH

みたく。

いいなと思ったら応援しよう!