Ubuntuに既に他のバージョンのCUDAがインストールされた状態で、あるCUDA(例えばバージョン10.1など)をapt-get installを用いてインストールしようとすると、元々のCUDAのパッケージが参照されインストールされてしまう問題がある。以下は、解決する方法のメモである。
1)まず、nvidiaのサイトからCUDAのubuntu用のパッケージファイルをダウンロード
今回は、Ubuntu18.04にCUDAをインストールすることを前提にしているので、以下のサイトから「cuda-repo-ubuntu1804-10-1-local-10.1.105-418.39_1.0-1_amd64.deb」をダウンロードした。
https://developer.nvidia.com/cuda-10.1-download-archive-base
2)次に、nvidiaのダウンロードページに記載通りにdpkgでパッケージをインストールし、レポジトリを追加
> sudo dpkg - i cuda-repo-ubuntu1804-10-1-local-10.1.105-418.39_1.0-1_amd64.deb > sudo apt-key add /var/cuda-repo-10-1-local-10.1.105-418.39/7fa2af80.pub
3) 次に追加したレポジトリからパッケージ一覧を更新
> sudo apt-get update
4)そして、cudaをインストール
> sudo apt-get install cuda
しかし、これを実行すると、元々入っていたCUDAのパッケージが参照され、元々のバージョンが再インストールされる!
新しく追加したパッケージを参照し、インストールするためには、以下のようにcudaのバージョンまで指定する必要がある!
> sudo apt-get install cuda-10.1
他にも既にインストールされているcudaのパッケージを削除したりする方法があるかもしれないが、バージョンが異なるのであれば、上記のバージョンを指定する方法が楽だった。
ちなみに、適切なバージョンのcudnnを以下からダウンロードしてインストールした方がよい。
https://developer.nvidia.com/cuDNN
> tar -xvzf cudnn-10.1-linux-x64-v7.6.5.32.tgz > sudo cp cuda/include/cudnn.h /usr/local/cuda/include > sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64