自宅サーバのcuda環境を3.2→4.0にバージョンアップ

基本的にはドキュメントに書いてある通りセットアップすればOK
http://developer.nvidia.com/cuda-toolkit-40


自宅サーバのOSはCentOS 5.6。
私は雰囲気でインストールしてたらこんなエラーが出るようになってしまった。

$ ./deviceQuery
[deviceQuery] starting...
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
[deviceQuery] test results...
FAILED

Press ENTER to exit...

ドキュメントのpdfを見たらGUIを使っていない場合は/dev/nvidia*のデバイスファイルを手動で確保しないといけないらしくドキュメントに記載されているシェルを実行する必要があったみたいだ。

#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi

これでdeviceQuery実行したらちゃんと起動できました。
にして、これ電源入れ直すたびに実行しないといけないっぽい、、、、
最近は節電のために自宅サーバは日中は電源切っているので、忘れないようにしないと、、、