KZKY memo

自分用メモ.

CUDA Toolkit and Driver Installation for CentOS6.6

GeForceが手に入ったので設定を行う.
OSは,CentOS6.4のminimalをインストール画面でサーバー設定として入れてからupgradeしてCentOS6.6にした.

取り敢えず,Doc

chap.2 pre-installation action
chap.3 package manager installation
chap.6 post-installation actions

に従う.

GPUPCIに刺さっているかの確認

lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 610] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1)
02:00.0 VGA compatible controller: NVIDIA Corporation GK110 [GeForce GTX 780] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GK110 HDMI Audio (rev a1)

ここでCUDA compatibleかどうかをみる.

GPU 	Compute Capabilit
GeForce GTX 780 	3.5

大丈夫そう

Linux Distributionの確認

uname -m && cat /etc/*releas
[kzk@nomad20 ~]$ uname -m && cat /etc/*release
x86_64
CentOS release 6.6 (Final)
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
CentOS release 6.6 (Final)
CentOS release 6.6 (Final)

gcc Installedの確認

gcc --version

ないので

yum groupinstall -y "Development tools"

.rpmのDL

ここからlinux x86/CentOS6のrpmを持ってくる
cpuinfoでcpuのアーキを確認すること.

  • md5sumの確認
md5sum cuda-repo-rhel6-6.5-14.x86_64.rpm
42e1a3957b30644762729ac91235d3fa  cuda-repo-rhel6-6.5-14.x86_64.rpm

ここrpm版がないので,とりあえず無視.

conflictの解消

初めてDriverをいれるので,無視

satisfy DKMS dependency (Dynamic Kernel Module Support)

DKMSはthird-partyのrepoにしかないので,epel repoを入れる

wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -iv epel-release-6-8.noarch.rpm
yum update

dkmsを入れる

yum -y install dkms

xorg.confの設定

そもそもないので,skip.
言っている意味がよくわからん.

cuda install

rpm -i cuda-repo-rhel6-6.5-14.x86_64.rpm 
yum clean expire-cache
yum install -y cuda

30minくらいかかる

pathを通す

user毎に必要なので注意!

.bashrc (.zshenv)とかに

## CUDA
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

versionの確認

nvidia-smi
FATAL: Module nvidia not found.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

driverが正しく入ってないかも

ここを参考にrebootしてみる.

  • 再度
nvidia-smi

OK

GTとGTX2つあった.ラッキー.

cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  340.29  Thu Jul 31 20:23:19 PDT 2014
GCC version:  gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) 

compile sample/run binary

locate deviceQuery
cd /usr/local/cuda-6.5/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
FATAL: Module nvidia_uvm not found.
cudaGetDeviceCount returned 30

こんな感じのエラーで失敗する

これをやってみる

だめ?

run scriptじゃないとダメなのか?
http://jie211.github.io/blog/2014/11/06/MiroCUDA/

やっぱりこれこれででできた.

/var/lib/dkms/nvidia-uvm/340.29/build/make.log

KMS make.log for nvidia-uvm-340.29 for kernel 2.6.32-504.el6.x86_64 (x86_64)
Mon Nov  3 16:50:28 PST 2014
Makefile:213: /var/lib/dkms/nvidia/340.29/build/nvidia-modules-common.mk: No such file or directory
make: *** No rule to make target `/var/lib/dkms/nvidia/340.29/build/nvidia-modules-common.mk'.  Stop

リンクがはられてないのが原因ぽい

cd /var/lib/dkms/nvidia/340.29/
ln -s source build

reboot

実際にリンクがはられていなかったとかかもしれないが(やったつもりとか),
一回rebootしてもだめだった.reboot 2, 3回してOK.