複数のCUDAのバージョンを切り替える(WSL2 Ubuntu 22.04)

はじめに

 今回はWSL2 Ubuntu 22.04の環境で、CUDAのバージョンの切り替えについて試してみました。

 以前3D Gaussian Splatting (3DGS) の環境を構築するために、元々入っていたCUDAを削除するようなインストール方法をしていました。

▼こちらの記事で試していました。

3D Gaussian Splattingを使ってみる その1(環境構築、WSL2 Ubuntu 20.04)

はじめに  今回は3D Gaussian Splattingを利用するために、環境構築を行いました。  スマートフォンのアプリとして提供されているScaniverseで3Dスキャンをして3Dモデル…

 今回はできるだけ他の環境に影響を与えないように、CUDAのバージョンを変更できるか試してみました。

▼以前の記事はこちら

YOLOで物体検出 その4(GPUの設定、CUDA 12.6)

はじめに  今回はGPUを利用したYOLOの物体検出を試してみました。  Ultralyticsのドキュメントではオプションで切り替えることができるようでしたが、GPUだとエラーが出…

3D Gaussian Splattingを使ってみる その2(画像・動画データから3Dモデルの再構築、WSL2 Ubuntu 20.04)

はじめに  今回は画像や動画のデータから、3D Gaussian Splatting(3DGS)で3Dモデルの再構築を試してみました。  以前の記事で実行したときは用意されていたCOLMAPでした…

CUDA をインストールする

 WSL2のUbuntu環境で検証を行います。

▼PCは10万円ぐらいで購入したゲーミングノートPCを利用しています。Windows 11の環境です。

ちょっと買い物:新しいノートPCとSSDの増設(ASUS TUF Gaming A15)

はじめに  今回はこれまで使っていたPCが壊れたので買い替えましたという話です。  以前はよく分からないGPUが載っていたノートPCを使っていたのですが、最近はUnreal E…

▼Ubuntu 22.04の環境を複数インストールできるようになったので、その環境で実行していきます。

WSL2を使ってみる その5(同じバージョンのディストリビューションを複数インストール、Ubuntu 22.04)

はじめに  今回はWSL2で同じバージョンのUbuntu環境をもう一つインストールしました。  元々インストールしていたWSL2のUbuntu 22.04の環境を壊したくなかったので、別…

▼WSL2でのCUDAのサポートについては、以下のページに記述があります。

https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started-with-cuda-on-wsl-2

 現状のバージョンについて、nvcc -Vを実行して確認してみました。

▼nvccを実行するにはnvidia-cuda-toolkitが必要なようです。

 以下のコマンドでnvidia-cuda-toolkitをインストールしました。

sudo apt update
sudo apt install nvidia-cuda-toolkit

▼CUDA 11.5が入っているようです。

 現時点で最新のCUDA Toolkitをインストールしてみます。

▼以下のサイトで環境に応じたインストールコマンドが表示されます。

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_network

▼この時点では13.0が最新のようでした。WSL-Ubuntuも選択肢にあります。

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_network

 選択後、下部に表示されるコマンドを実行しました。

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-0

 実行終了後、この時点ではnvcc -Vを実行してもCUDAのバージョンは13.0になっていませんでした。

 ChatGPTに聞いて、以下のコマンドを実行してみました。

ls -l /usr/local
which nvcc

▼/usr/localにcuda-13が追加されているようでした。

 環境変数を変更するコマンドを実行してみました。

export PATH=/usr/local/cuda-13.0/bin:$PATH
nvcc -V

▼CUDA 13.0に変更されました。

別のバージョンのCUDAをインストールする

 先程のCUDA Toolkitは最新のものでしたが、古いバージョンのアーカイブが残っています。

▼以下のページです。

https://developer.nvidia.com/cuda-toolkit-archive

 その中で、今回はCUDA 11.8を使いたかったので、CUDA Toolkit 11.8を選択しました。

▼こちらのリンクです。

https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_network

 以下のコマンドを実行しました。

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda

▼この時点では11.8のものが見当たりませんでした。

 先程はapt-getでインストールするときにCUDA Toolkitのバージョンを指定していたのですが、今回は指定せずにcudaだったのが原因ではないかと思い、以下のコマンドを実行しました。

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

▼cuda-11.8が追加されました!

 この状態で環境変数を変更してみました。

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

▼CUDA 11.8に変更されました。

 なおcuda-11.8、cuda-13.0にもnvccは入っており、直接パスを指定するとそのバージョンが表示されました。

▼それぞれのバージョンが出力されています。

.bashrcで設定する

 これまでの実行結果から、以下のコマンドを実行して切り替えるだけで良さそうです。

export PATH=/usr/local/cuda-13.0/bin:$PATH
export PATH=/usr/local/cuda-11.8/bin:$PATH

▼念のため確認しておくと、以下のように切り替えできました。

 ROSのマスターやIPを設定するときにも馴染みのある、.bashrcに記載しておこうと思います。起動時に実行されて、環境変数が設定されます。

 sudo nano .bashrcを実行し、一番最後に追加しました。

▼直近で使いたいのは11.8だったので、13.0はコメントアウトしておきました。

 これでsource .bashrcを実行するか、新しくターミナルを開くと、CUDA 11.8の状態で起動できるかと思います。

▼新しくターミナルを開くと、CUDA 11.8として出力されました!

最後に

 WSL2の環境を新たにインストールし、CUDAのバージョンも切り替えることができるようになったので、改めてWSL2 Ubuntu 22.04の環境で3DGSを実行できるようにしたいなと思っています。

 環境変数の設定に関するドキュメントではLD_LIBRARY_PATHの設定も書かれていたので、実行しておいた方が良いのかもしれません。3DGSを実行してみて、問題があれば対処しようと思います。

▼以下のページに書かれていました。

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#environment-setup

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-13.0/lib64

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です