コンテンツに飛ぶ | ナビゲーションに飛ぶ

パーソナルツール
セクション
現在位置: ホーム CUDA 5.5 のインストール

CUDA 5.5 のインストール

CUDA 5.5をCentOS 6.5にインストールした際のログです

CentOS 6.5をminimal構成でインストールし, /etc/yum.repos.d/CentOS-Base.repoを
適当に編集した後にCUDA 5.5をインストールしました. GPUはNVIDIA GTX780Tiです.

まず開発用ツールを一括でインストールしてしまいます.

[root@gpu]# yum groupinstall "Development Tools"

次にRPMforgeのレポジトリを追加します.

http://pkgs.repoforge.org/rpmforge-release/

から, 最新のrpmファイル(現時点ではrpmforge-release-0.5.3-1.el6.rf.x86_64.rpm)
をダウンロード.

[root@gpu]# yum install yum-plugin-priorities

ファイル /etc/yum.repos.d/CentOS-Base.repo 中の各項目([base], [updates], [extras],
[centosplus], [contrib])の末尾に

priority=1

を追加.

[root@gpu]# rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
[root@gpu]# yum update rpmforge-release % (念のためアップデート)

ファイル /etc/yum.repos.d/rpmforge.repo 中の各項目([rpmforge], [rpmforge-extras],
[rpmforge-testing])の末尾に

priority=10

を追加.

RPMforgeからdkms(Dynamic Kernel Module Support Framework)をインストール

[root@gpu]# yum install dkms

これでCUDAのインストール準備が整ったので, CUDAをインストールする.
CUDAのダウンロードサイトからrpm(cuda-repo-rhel6-5.5-0.x86_64.rpm)をダウンロード.

[root@gpu]# rpm -ivh cuda-repo-rhel6-5.5-0.x86_64.rpm
[root@gpu]# yum install cuda

これでCUDAのインストールは終了と思ったのですが, サンプルプログラムのdeviceQueryの
実行ができない不具合(当然, 他のプログラムも実行できず)がありました. いろいろと調べて
みたのですが, 原因はわかりませんでした. NVIDIAドライバを新したら問題解決したという
インターネットの書き込みを見つけたので, ドライバを新しく(319.37 => 331.38)しました.
(しかし, 新規インストール直後のドライバより新しいドライバがあるのはすごく不思議...)

NVIDIAのウェブサイトからドライバをダウンロード(今回はNVIDIA-Linux-x86_64-331.38.run)
旧バージョンのドライバをuninstallして, 新しいものをインストール.

[root@gpu]# yum remove nvidia-kmod xorg-x11-drv-nvidia nvidia-settings nvidia-xconfig
[root@gpu]# chmod 700 NVIDIA-Linux-x86_64-331.38.run
[root@gpu]# ./NVIDIA-Linux-x86_64-331.38.run

質問にいくつか答えてドライバをインストール.
> Would you like to register the kernel module sources with DKMS?
と聞かれて迷ったが, とりあえず yes と回答.
以上で, インストール完了. deveceQueryの実行で動作確認すると, ちゃんと動作しているよう.
matrixMulCUBLASの実行をしてみると,

[user@gpu]$ nvprof matrixMulCUBLAS
[Matrix Multiply CUBLAS] - Starting...
==27172== NVPROF is profiling process 27172, command: ./matrixMulCUBLAS
GPU Device 0: "GeForce GTX 780 Ti" with compute capability 3.5

MatrixA(320,640), MatrixB(320,640), MatrixC(320,640)
Computing result using CUBLAS...done.
Performance= 1604.62 GFlop/s, Time= 0.082 msec, Size= 131072000 Ops
Computing result using host CPU...done.
Comparing CUBLAS Matrix Multiply with CPU results: PASS
==27172== Profiling application: ./matrixMulCUBLAS
==27172== Profiling result:
Time(%)   Time     Calls    Avg     Min     Max  Name
92.50%  2.4647ms     31  79.507us  77.600us  82.368us sgemm_sm35_ldg_nn_64x16x64x16x16
 5.02%  133.79us      3  44.597us  1.0560us  66.720us [CUDA memcpy HtoD]
 2.47%  65.920us      1  65.920us  65.920us  65.920us [CUDA memcpy DtoH]

と出て, 行列積(sgemm)に92.5%, メモリコピーに7.5%を使っていることが分かる.
以前のGPUより確かにメモリバンド幅が増えているようだ.