覚え書きブログ

他のバージョンのcudaが入っている状態でのcuda-10.1のインストール

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