Ubuntu22.04へCUDA11.8環境を作る

Ubuntu22.04へCUDA 11.5がaptで入手できますが、CUDA 11.5だとうまくビルドができない問題にハマった。どうやらCUDA11.8だとうまく行くようなので構築してみようと思っても以外と情報がない。

ということで、すぐに忘れそうなので色々と調べながら試行錯誤してうまく行った結果を残しておこう。

とはいっても、だいぶ以下の記述に助けられた気がする。


すでに色々と開発環境が入っているから関連する手順は飛ばしているかもしれないが以下に備忘録として。

まずは環境最新化と余計なNVIDIAドライバ・cudaが入ってしまっている場合は、一旦削除してから始める。ドハマりしたあとに手順を踏んだので、初回インストール時は不要な気もする。

sudo apt -y update
sudo apt -y upgrade
sudo apt remove --purge -y nvidia-*
sudo apt remove --purge -y cuda-*
sudo apt autoremove -y

NVIDIAドライバをインストールして、再起動する。

sudo ubuntu-drivers autoinstall
sudo update-initramfs
sudo /sbin/shutdown -r now

起動してきた後に、nvida-smiでGPUの状態出力して正常動作するか確認。ちなみにこの際に出力される CUDA Version はこのドライバがサポートしているCUDAバージョンの上限のものらしい。初見だと、CUDA入れていないのに、なんで出力されてるんだ?と思ってしまいましたが、そういうことのようです。

nvidia-smiの出力結果

PC組むときに間に合わせで買った Geforce 1030GT なのでメモリ容量も小さい。

次は、apt でNVIDIA CUDAをパッケージ取得できるように、リポジトリを追加。

sudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"

パッケージリストを新たに追加したNVIDIA CUDAのリポジトリからも読み込めるようにして、CUDA 11.8 をインストール。多分 update-initramfsは要らないのではと思いつつ、念の為打つ。
あとは、あらかじめPATHは通すために bashrcへ設定追加したうえで、再起動。

sudo apt -y update
sudo apt -y install cuda-11-8
sudo update-initramfs
echo 'export CUDA_PATH=/usr/local/cuda-11.8' >> ${HOME}/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:${LD_LIBRARY_PATH}' >> ${HOME}/.bashrc
echo 'export PATH=/usr/local/cuda-11.8/bin:${PATH}' >> ${HOME}/.bashrc
sudo /sbin/shutdown -r now

一応、この後 cuDNN使って遊びそうなので cuDNNもインストールしておく。

sudo apt -y update
sudo apt -y install libcudnn8 libcudnn8-dev

ここで、CUDAの導入ができているかについてnvccコマンドで確認。

nvccコマンドでバージョン確認


ひとまずこれで、環境構築は完了。
某プロジェクトのビルドができるのが確認できたので、成功したようだ。

この記事が気に入ったらサポートをしてみませんか?