はじめに
自分のPCに指定のバージョンのCUDAをインストールしようとしたときに必要になった情報をまとめました.
公式サイトを読み込んだ情報ではありません.
複数のWEB記事をもとに初めてNVIDIA GPUのセットアップをした初心者がまとめた記事なので正確とは限りません.
インストール済みのNVIDIAドライバ,CUDAの削除
$ sudo apt purge nvidia*
$ sudo apt purge libnvidia*
$ sudo apt purge cuda*
$ sudo apt autoremove
$ sudo apt autoclean
$ dpkg -l | grep cuda
> rc cuda-cudart-11-2 11.2.152-1 amd64 CUDA Runtime native Libraries
> ...
$ sudo dpkg --purge cuda-cudart-11-2
$ sudo dpkg --purge ...
// NVIDIAドライバも同様
$ dpkg -l | grep nvidia
$ sudo dpkg --purge ...
NVIDIAドライバのインストール
結局,最新バージョンをインストールしておくのが無難です.
// 対応ドライバ・推奨バージョンを確認
$ ubuntu-drivers devices
> ...
> driver : nvidia-driver-495 - third-party non-free recommended
> ...
// 推奨バージョンをインストール
$ sudo ubuntu-drivers autoinstall
// PCを再起動して動作確認
$ nvidia-smi
> 表が出力される
※ nvidia-smiで出力される表のCUDA Versionには,対応しているCUDAの最新バージョンが記載されており,そのバージョンがインストールされているわけではない.
CUDAドライバのインストール
インストールするバージョンの確認
CUDAとCUDA対応ライブラリのバージョン対応はシビアなので注意.それぞれ最新版をインストールすればいいというものではなく,対応関係をしっかり確認する必要がある.
- 2022/1/12現在の最新バージョンはCUDA 11.5
- tensorflow-2.6.0はCUDA 11.2に対応
- PyTorch Stable(1.10.1)はCUDA 10.2/11.3に対応
※ すべてにPathが通っていれば複数のCUDAをインストールしても問題なくプログラムから切り替えて使用できるので,対応するCUDAがインストールされていることが重要.
- インストールしたNVIDIAドライバが対応しているかもいちおう確認.最新版をインストールしていれば大丈夫.
CUDAのインストール
インストールしたいバージョンのページに移動し,インストールするPC環境を入力すれば,入力すべきコマンドが表示される.ただし,表示されるコマンドをそのまま入力すると最新バージョンがインストールされてしまうので,自分でバージョンを指定しなければいけないことに注意.
ex. Linux
, x86_64
, Ubuntu
, 20.04
, deb (network)
の場合
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
$ sudo apt update
// 自分でバージョンを指定する
// sudo apt -y install cuda
$ sudo apt -y install cuda-11-3
インストール確認
// これが動けば終了
$ nvcc -V
// 他にインストールされているバージョンを確認
$ ls -d /usr/local/cuda-*
nvccが使えない場合のPath設定とインストール確認
インストール確認
// 動作確認
$ /usr/local/cuda/bin/nvcc --version
> これでも表示されない場合はインストールやり直し
ローカルユーザーのみPathを通す場合
$ vim ~/.bashrc
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
全ユーザでPathを通す場合
- PATHに/usr/local/cuda/binを追加
$ sudo vim /etc/environment
// 変更前
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
// 変更後
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin"
- /usr/local/cuda/lib64の追加
$ cat /etc/ld.so.conf.d
> include /etc/ld.so.conf.d/*.conf
// 新しく作成
$ vim /etc/ld.so.conf.d/[name].conf
/usr/local/cuda/lib64
Path確認
// terminalを開きなおして設定を反映してから確認
$ nvcc -V
// 他にインストールされているバージョンを確認
$ ls -d /usr/local/cuda-*
参考
トライ&エラーを繰り返したのでもっといろいろなサイトのお世話になっていますが,発掘できた範囲の参考サイトです.