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

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

GTX1080を自作PCに後付けしてCUDAを使えるようにする(Ubuntu)

はじめに

GTX1080を自作PCに後付けして設定するのに時間がかかってしまったので、手順やハマったことなどを残しておく。

やりたいこと

CUDAを使えるようにする。 (映像出力はしない)

環境

  • Ubuntu17.10

1. 映像出力を内部GPUに固定する

とりあえず何も考えずに(!)グラボを挿してPCの電源をつけたら、画面が真っ黒のままだった。 新しいグラボから映像出力したいけど、ドライバがない!という状態になっていたよう。

BIOSの映像出力の項目で内部GPUを選択する と、無事に起動画面が表示された。

2. secure bootをOFFにする

これもBIOSから見つけ出して設定する。

3. グラボのドライバをインストールする

NVIDIAの公式サイトからドライバをダウンロードして、インストールする。

この後のCUDAのインストール時に、ドライバも同時にインストールできるようだが、うまくいかなかった(Unable to load the 'nvidia-drm' kernel module というエラーが出た)ので、ドライバだけ先にインストールした。

再起動後、下記コマンドでグラボの情報が出てくれば成功。

$ nvidia-smi

4. NVIDIAのドライバのインストール

Ubuntuの公式リポジトリからインストールした。

$ sudo apt install nvidia-390

nvidia-396 というのもあったが、こちらはうまくいかなかった(上と同じエラー)ので390にした。

5. GCC/G++ 5のインストール

CUDAには GCC/G++ 5 が必要。だがUbuntuのデフォルトは 6か7。 なのでGCC/G++ 5にする。

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

6. CUDA toolkitのインストール

NVIDIAの公式サイトからダウンロードしてインストールする。 インストール時に色々聞かれる。

  • ドライバはインストールしない
  • Toolkitはインストールする
  • インストール先はデフォルトとした

インストール後、パスの設定をする。下記を .bashrcに追記して終了。

export PATH=/usr/local/cuda-9.0/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:${LD_LIBRARY_PATH}

その他

BIOSの更新

効果があったかわからないが、BIOSの更新も行った。手順は、

  • BIOSマザボの現在のバージョンを確認
  • マザボの型番で検索して更新があればダウンロード(例:ASUS P8B75-M LX PLUS
  • ダウンロードしたファイルを解凍すると.CAPというファイルがあり、これをUSBメモリに保存する。
  • 電源を再投入して、BIOSからアップデートの項目を見つけ出して先ほどの.CAPファイルを選択してアップデートする。

後記

Ubuntu公式リポジトリだとか非公式だとかNVIDIA公式サイトからダウンロードするだとかとてもややこしかった・・・