Help us understand the problem. What is going on with this article?

CUDA 8.0 RCをUbuntu 16.04 LTS + GTX1080にインストール

More than 3 years have passed since last update.

Ubuntu 16.04 LTS + GeForce GTX 1080の環境に、CUDA 8.0 RCをインストールします。Ubuntu 16.04 LTSでは、デフォルトでgcc 5.4のため、CUDA toolkitのインストール時に適切なコンパイラが無いと怒られます。2016年8月8日にgcc 5.4に対応した公式パッチが出たのですが、これに対するドキュメントが見当たらないため、メモ代わりに残しておきます。(gccを5.3.1にダウングレードすれば、パッチを使用せずにインストールできると思います。)

公式ドキュメントを見る

まずは、公式ドキュメントであるInstallation Guide for Linuxを確認します。以下の手順は基本的に公式ドキュメントのPackage Manager Installationをベースにインストールを試みます。

CUDA 8.0 RCをダウンロードする

CUDAのダウンロードサイトに行って、インストーラをダウンロードします。ダウンロードサイトへのアクセス時にはNvidiaメンバーでのログインが求められますので、アカウントを持っていない場合は作成する必要があります。
今回はPackage Manager Installationを利用するため、debをダウンロードします。以下の、「Base Installer」「Patch 1」の両方をダウンロードして、この後のインストール作業を簡単にするため、Homeフォルダに移動しておきます。
cuda.png

事前確認

CUDA対応のGPUがハードウェア認識されているか確認

ターミナルで以下のコマンドを入力して、GPUが認識されているか確認します。

$ lspci | grep -i nvidia

認識されていない場合は、PCIスロットにハードウェアがきちんとささっていることを確認した上で、update-pciidsコマンドを入力するなどして、認識させてください。

gccのバージョンを確認する

CUDA Toolkitをコンパイルするためにgccが必要になります。gccのバージョンを確認して下さい。Ubuntu 16.04 LTSを最新状態にしている場合は、gcc 5.4となっているはずです。

$ gcc --version

適切なKernel HeadersとDevelopment Packagesがインストールされていることを確認

現在のカーネルのバージョンを確認するには、以下のコマンドを入力します。

$ uname -r

現在のカーネルに合わせてKernel HeadersとDevelopmemt Packagesをインストールするには以下のコマンドを入力します。

$ sudo apt-get install linux-headers-$(uname -r)

競合するインストールの削除

過去のバージョンのCUDA Toolkitがrunfileでインストールされている場合、以下のコマンドで削除します。

$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl

また、CUDA Driverがrunfileでインストールされている場合、以下のコマンドで削除します。

$ sudo /usr/bin/nvidia-uninstall

RPM/DebでNvidiaのドライバなどがインストールされている場合は、以下のコマンドで削除します。

$ sudo apt-get --purge remove nvidia-*

CUDAのインストール

以下のコマンドでCUDAをインストールします。

$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
$ sudo apt-get remove --purge -y cuda-repo-ubuntu1604-8-0-rc

パッチを当てます。

$ sudo dpkg -i cuda-misc-headers-8-0_8.0.27.1-1_amd64.deb

インストール後の作業

環境変数の設定

~/.bashrcに以下の変数を追加してください。

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

ここで再起動しましょう。再起動後に動作が不安定の場合は、Ctrl + Alt + F1を押して仮想コンソールを起動し、Nvidiaのドライバを再インストールします。

$ sudo apt-get install nvidia-367 --reinstall
$ sudo reboot

正常にインストールできたか確認する

ドライバのバージョンを確認する

$ cat /proc/driver/nvidia/version

nvccのバージョンを確認する

$ nvcc -V

書き込み可能なサンプルをインストールする

いくつかサンプルを動かす必要があるため、サンプルをインストールします。

$ cd /usr/local/cuda-8.0/samples
$ sudo make

deviceQueryを実行してみましょう。Result=PASSであれば動いているはずです。

$ cd bin/x86_64/linux/release
$ sudo ./deviceQuery

deviceQuery.png

もう一つ、bandwidthTestを実行します。

sudo ./bandwidthTest

bandwidthTest.png

ついでにcuDNNをインストール

Deep Learningの環境を整える場合は、cuDNNが必要になります。
cuDNNのダウンロードサイトでログインしたあと、「cuDNN v5.1 Library for Linux」をダウンロードします。

cudnn.png

ダウンロードしてきたファイルを解答して所定の場所に配置すれば完了です。
(パスは上記のCUDAのインストール時に設定しています)

tar -zxf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp lib64/libcudnn* /usr/local/cuda-8.0/lib64/
sudo cp include/cudnn.h /usr/local/cuda-8.0/include
tetchi821
デジタルマーケティング領域でのデータ分析をしています。
dena_coltd
    Delight and Impact the World
https://dena.com/jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away