Edited at

NVIDIA Driverおよび CUDA のインストール

More than 3 years have passed since last update.

Chromeで見ると画像の色合いが変なのでSafariやFirefoxで見てください。

本ページは

をベースに少しだけ内容を編集して書いています。全体の流れとしては


  • 既存のグラフィックドライバーの無効化

  • K520用のグラフィックドライバーのマニュアルインストール

  • CUDA環境のインストール

  • サンプルファイルによる動作確認

です。


0. 前提条件


1. 事前準備


1.1 パッケージの更新・開発ツールのインストール


パッケージの更新と必要なパッケージのインストール

sudo apt-get update -y

sudo apt-get install -y build-essential
sudo apt-get install jq
sudo apt-get install -y linux-image-extra-virtual
sudo apt-get install -y linux-source


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


2.1 デフォルトグラフィックボードの停止

すでにLinux上のnouveauグラフィックスドライバが有効になっているため、このまますすめるとNVIDIAドライバのインストールに失敗してしまいます。そのため、このnouveauを無効にします。


/etc/modprobe.d/blacklist-nouveau.confの作成

sudo sh -c "cat << ETX > /etc/modprobe.d/blacklist-nouveau.conf

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
ETX"
&& cat /etc/modprobe.d/blacklist-nouveau.conf


/etc/modprobe.d/nouveau-kms.confの作成

sudo sh -c "echo 'options nouveau modeset=0' > /etc/modprobe.d/nouveau-kms.conf" && cat /etc/modprobe.d/nouveau-kms.conf


initramfsの更新


/bootにある既存のInitramfsの更新

sudo update-initramfs -u



result-example

update-initramfs: Generating /boot/initrd.img-3.13.0-85-generic



command

sudo reboot



2.2 Download NVIDIA Driver


Coppy the URL of "Agree & Download"

NVIDIA Driver Downloadsのページへアクセスし、セレクトメニューを下記のように選択後、SEARCHのボタンをクリックします。

Kobito.TqGQmk.png

DOWNLOADのボタンをクリックします。

その後、下記の画面より "AGREE & DOWNLOAD" のボタンのリンクをコピーします。

Kobito.gnqpJC.png

linux-headersは、上記の再起動後にインストールすることがポイントです。


ドライバーのインストールに必要なパッケージのインストール


ドライバーのインストールに必要なパッケージのインストール

sudo apt-get install -y linux-headers-`uname -r`



パッケージの確認

dpkg -l linux-headers-`uname -r`



Download NVIDIA Driver

ここからは手元のマシンではなく、g2.2xlargeからCLIで直接ファイルをDownloadします。

もう一度、リブートしたg2.2xlargeへログインしてください。

変数は各自コピーしたURLをいれてください。


コピーしたURLを変数に格納

K520_DRIVER_URL='http://us.download.nvidia.com/XFree86/Linux-x86_64/XXX.XX/NVIDIA-Linux-x86_64-XXX.XXrun'



ドライバーのダウンロード

wget ${K520_DRIVER_URL}



2.3 Install NVIDIA driver


変数確認

cat << ETX

LOCAL FILE : ${K520_DRIVER_URL##*/}

ETX



ドライバーのインストール

sudo sh ${K520_DRIVER_URL##*/} -a --disable-nouveau


対話形式のインストールが始まります。下記のように進めてください。

(下記画像はChromeブラウザーを使うと画像が正しく表示されないので、FirefoxかSafariなどで見てください)

Kobito.Jbpm66.png

Kobito.ZncESn.png

Kobito.hHC690.png

Kobito.nK4wzW.png

Kobito.2BJC34.png

Kobito.AMWZps.png

再起動します。


g2.2xlargeの再起動

sudo reboot



2.4 ドライバーのインストール確認


command

sudo modprobe nvidia



result

(何も表示されなければOK)



3. CUDAのインストール


3.1 CUDAのダウンロード

下記にアクセスします

https://developer.nvidia.com/cuda-downloads

Kobito.3tVnVA.png

コピーしたリンクを貼り付けます


変数の決定

CUDA_URL=http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb



download

wget ${CUDA_URL}



3.2 CUDAのインストール


変数の確認

cat << ETX

LOCAL FILE : ${CUDA_URL##*/}

ETX



cudaのパッケージをインストールする

sudo dpkg -i ${CUDA_URL##*/}

sudo apt-get update
sudo apt-get install cuda


3.3 環境変数の設定

cat << ETX >> ${HOME}/.bashrc

export PATH=/usr/local/cuda/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:\$LD_LIBRARY_PATH
ETX
source .bashrc


3.4 インストール確認


確認

nvcc -V



result

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17


4. サンプルファイルによるCUDAのテスト(必須ではない。コンパイルに時間がかかります)

alignedTypes というサンプルアプリでテストします。

cudaのバージョンによって適宜読み替えてください。

コンパイルにはしばらく時間がかかります。


サンプルファイルのコンパイル

cuda-install-samples-7.5.sh ./

cd NVIDIA_CUDA-7.5_Samples
make


alignedTypesの実行

cd bin/x86_64/linux/release

./alignedTypes


result

[./alignedTypes] - Starting...

GPU Device 0: "GRID K520" with compute capability 3.0

[GRID K520] has 8 MP(s) x 192 (Cores/MP) = 1536 (Cores)
> Compute scaling value = 1.00
> Memory Size = 49999872
Allocating memory...
Generating host input data array...
Uploading input data to GPU memory...
Testing misaligned types...
uint8...
Avg. time: 2.025906 ms / Copy throughput: 22.985273 GB/s.
TEST OK
uint16...
Avg. time: 1.157250 ms / Copy throughput: 40.238503 GB/s.
TEST OK
RGBA8_misaligned...
Avg. time: 1.109531 ms / Copy throughput: 41.969082 GB/s.
TEST OK
LA32_misaligned...
Avg. time: 0.913219 ms / Copy throughput: 50.991080 GB/s.
TEST OK
RGB32_misaligned...
Avg. time: 1.011594 ms / Copy throughput: 46.032325 GB/s.
TEST OK
RGBA32_misaligned...
Avg. time: 1.110656 ms / Copy throughput: 41.926572 GB/s.
TEST OK
Testing aligned types...
RGBA8...
Avg. time: 0.917500 ms / Copy throughput: 50.753143 GB/s.
TEST OK
I32...
Avg. time: 0.916875 ms / Copy throughput: 50.787740 GB/s.
TEST OK
LA32...
Avg. time: 0.882969 ms / Copy throughput: 52.738006 GB/s.
TEST OK
RGB32...
Avg. time: 1.049188 ms / Copy throughput: 44.382923 GB/s.
TEST OK
RGBA32...
Avg. time: 0.917813 ms / Copy throughput: 50.735862 GB/s.
TEST OK
RGBA32_2...
Avg. time: 1.017781 ms / Copy throughput: 45.752473 GB/s.
TEST OK

[alignedTypes] -> Test Results: 0 Failures
Shutting down...
Test passed



このQiitaの情報は、おいらがプライベートで作っているもので、NVIDIAとは無関係です。個人責任でお試しください。インスタンス等の消し忘れ等ご注意ください。