物忘れの激しいエンジニアのメモ

スクレイピング、映像系、アプリ、webなど...

Ubuntu18でCUDA9.1を使えるようになるまでの最短手順

はじめに

CUDAは最新バージョンじゃないけど、9.1ならaptで簡単にインストールできるようになっていたのでメモ。

secure bootの無効化

BIOSで設定する。設定するところは頑張って見つける。

映像出力を内部GPUに固定

こちらもBIOSで設定する。設定するところ見つけづらい。

NVIDIA driverのインストール

$ sudo apt install nvidia-driver-390

rebootののち、下記コマンドをエラーなく実行できることを確認する。

$ nvidia-smi

CUDAのインストール

$ sudo apt install nvidia-cuda-toolkit

下記コマンドをエラーなく実行できれば完了。

$ nvcc --version

nvccでコンパイル時にエラー

こんなエラーが出ていた。

/usr/lib/gcc/x86_64-linux-gnu/6/include/stddef.h(436): error:
identifier "nullptr" is undefined

gccとg++のバージョンを5にすべきとのことで、そうしてみる。

sudo apt-get install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1

しかし同じエラーが出る。

そこで、nvccで使われているgccとg++のバージョンを5に下げる。

$ sudo apt install gcc-5
$ sudo mv /usr/lib/nvidia-cuda-toolkit/bin/gcc /usr/lib/nvidia-cuda-toolkit/bin/gcc_old
$ sudo ln -s /usr/bin/gcc-5 /usr//nvidia-cuda-toolkit/bin/gcc

$ sudo apt install g++-5
$ sudo mv /usr/lib/nvidia-cuda-toolkit/bin/g++ /usr/lib/nvidia-cuda-toolkit/bin/g++_old
$ sudo ln -s /usr/bin/g++-5 /usr//nvidia-cuda-toolkit/bin/g++

これでコンパイルできるようになった。