2008.08.12 うえすぎ
CentOS5.1 に CUDA 入れた
デバイスは C870
1. 準備
% su
% yum install kernel-devel
% yum install freeglut freeglut-devel
% /sbin/init 3
2. ドライバとツールキットのインストール
% sh NVIDIA-Linux-x86_64-177.13-pkg2.run
% sh NVIDIA_CUDA_Toolkit_2.0beta2_rhel5.1_x86_64.run
3. 環境設定
/etc/ld.so.conf.d に cuda.conf を追加
***cuda.conf***
/usr/local/cuda/lib
***************
% /sbin/ldconfig
/etc/profile.d に cuda.sh とcuda.cshを追加
***cuda.sh***
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib
*************
***cuda.csh***
set path=($path /usr/local/cuda/bin)
if ($?LD_LIBRARY_PATH) then
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/cuda/lib
else
setenv LD_LIBRARY_PATH /usr/local/cuda/lib
endif
**************
% /sbin/init 5
% exit
4. 各ユーザーで sdk をインストール&テスト
% cd
% sh NVIDIA_CUDA_sdk_2.0beta2_linux.run
% cd NVIDIA_CUDA_SDK
% make
5. うまくいったらテスト
% cd bin/linux/release/
% ./bandwidthTest
******出力******
Using device 0: Tesla C870
Quick Mode
Host to Device Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1016.2
Quick Mode
Device to Host Bandwidth for Pageable memory
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 1045.1
Quick Mode
Device to Device Bandwidth
.
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 57117.4
&&&& Test PASSED
****************
6. 後はご自由に
****************
7. 補足(X86_64 の場合)
/etc/profile.d に cuda.sh とcuda.cshを追加するとき
lib の後ろに 64 を付けなければならない。
***cuda.sh***
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
*************
***cuda.csh***
set path=($path /usr/local/cuda/bin)
if ($?LD_LIBRARY_PATH) then
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/cuda/lib64
else
setenv LD_LIBRARY_PATH /usr/local/cuda/lib64
endif
**************
Makefile の中身。
SDKの場所とlibの64を忘れずに。
**************
CC =gcc -O3 -DLZW
NVCC =nvcc -O3
CUDA =/usr/local/cuda
SDK =/usr/local/NVIDIA_GPU_Computing_SDK/C
COMMON =$(SDK)/common
INCS =-D_DEBUG -DUNIX -I$(CUDA)/include -I$(COMMON)/inc
LIBS =-L$(CUDA)/lib64 -L$(SDK)/lib -L$(COMMON)/lib/linux \
-lcudart -lcufft -lcutil -lm
**************
8. CentOS6.2 の場合 (2012.5.14 追記)
toolkit と SDK 4.2.9 をコンパイルする時にエラーが出るので、
/usr/lib64
にて
ln -s libXi.so.6.1.0 libXi.so
ln -s libXmu.so.6.2.0 libXmu.so
を実行してリンクを張る。
/usr/local/NVIDIA_GPU_Computing_SDK/C
でmakeして作ったライブラリ libcutil.a が libcutil_x86_64.a になっていたので、
Makefile の中 -lcutil_x86_64 に書き換えた。