安裝ubuntu 12.04 LTS
Ubuntu Linux 12.04 LTS (Long Term Support),在2012年4月釋出,官方將此版本定為LTS長期支援版,所以Ubuntu對於此版本所提供的服務將會持續五年(一般的版本為三年),
換句話說,此版本有效支援至2017年,因此做為伺服器使用的話可以選擇此版本當平台。但是NVIDIA所提供的CUDA toolkit 4.2 僅釋出至11.04,
不過經測試後CUDA for Ubuntu 11.04版本,也是可以配置於Ubuntu 12.04 LTS使用的。
Download NVIDIA driver and CUDA:
Reference to follow site
1.海豹雜記Ubuntu Linux 12.04 LTS 安裝 NVIDIA CUDA 4.2
Toolkit :
cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
SDK :
gpucomputingsdk_4.2.9_linux.run
安裝NVIDIA驅動程式
首先安裝NVIDIA驅動程式,
由於可透過
ubuntu12.04
自動安裝驅動,
因此可使用指令自動完成安裝
那麼我們就開始教程囉,
Install start:
Into Nvidia x server
>> $ Ctrl+F1
>> $ sudo service gdm stop
Update Nvidia driver:
Configure GCC
>> $ sudo apt-get install gcc-4.4
>> $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 150
>> $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100
>> $ sudo update-alternatives --config gcc
choose gcc-4.4
Configure G++
>> $ sudo apt-get install g++-4.4
>> $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 150
>> $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100
>> $ sudo update-alternatives --config g++
choose g++-4.4
Install toolkit
>> $ sudo sh ./cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
Update PATH
>> $vim ~/.bashrc
>> $export PATH=$PATH:/usr/local/cuda/bin
>> $export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
Set up environment variables:
>> $ vim /etc/environment
Set PATH:
Append the path to the CUDA binaries. Change
>> $ sudo vim /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
change to
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/bin"
Reload PATH:
>> $ source /etc/environment
Set LD_LIBRARY_PATH:
(creates a new file).
>> $ sudo gedit /etc/ld.so.conf.d/cuda.conf
Paste into the file:
/usr/local/cuda/lib64
Reload LD_LIBRARY_PATH:
>> $ sudo ldconfig
Run CUDA SDK
>> $ sh ./gpucomputingsdk_4.2.9_linux.run
>> $ cd NVIDIA_GPU_Computing_SDK
SDK Complier configure
>> $ sudo apt-get install build-essential libx11-dev libglu1-mesa-dev freeglut3-dev libxi-dev libxmu-dev
更改編譯的設定,編輯 ~/NVIDIA_GPU_Computing_SDK/C/common/common.mk 這個設定檔,大約在第 58 行附近,將編譯器都改為 4.4 版的 gcc:
# Compilers
NVCC := $(CUDA_INSTALL_PATH)/bin/nvcc
CXX := g++-4.4 -fPIC
CC := gcc-4.4 -fPIC
LINK := g++-4.4 -fPIC
另外在第 255 行附近,加入 NVIDIA 的 Library 路徑(-L/usr/lib/nvidia-current):
ifeq "$(strip $(HP_64))" ""
ifeq ($(x86_64),1)
LIB := -L$(CUDA_INSTALL_PATH)/lib64 -L$(LIBDIR) -L$(COMMONDIR)/lib/$(OSLOWER) -L$(SHAREDDIR)/lib -L/usr/lib/nvidia-current
else
LIB := -L$(CUDA_INSTALL_PATH)/lib -L$(LIBDIR) -L$(COMMONDIR)/lib/$(OSLOWER) -L$(SHAREDDIR)/lib -L/usr/lib/nvidia-current
endif
else
ifeq ($(i386),1)
LIB := -L$(CUDA_INSTALL_PATH)/lib -L$(LIBDIR) -L$(COMMONDIR)/lib/$(OSLOWER) -L$(SHAREDDIR)/lib -L/usr/lib/nvidia-current
else
LIB := -L$(CUDA_INSTALL_PATH)/lib64 -L$(LIBDIR) -L$(COMMONDIR)/lib/$(OSLOWER) -L$(SHAREDDIR)/lib -L/usr/lib/nvidia-current
endif
endif
這樣就可以開始編譯了,進到 ~/NVIDIA_GPU_Computing_SDK/C 這個目錄,執行 make 編譯:
>> $cd NVIDIA_GPU_Computing_SDK/C
>> $make
>> $ ~/C/bin/linux/release/deviceQuery
Configure end
CUDA SDK 問題
若出現
/usr/bin/ld: cannot find -lcuda
collect2: ld returned 1 exit status
或
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
是表示找不到 NVIDIA GL 或 CUDA Library,若是您是使用 Ubuntu 內建的驅動程式管理介面安裝的 NVIDIA Driver,則將 /usr/lib/nvidia-current 下面的 so 檔件一個連結到 /usr/lib 下面即可:
sudo ln -s /usr/lib/nvidia-current/libcuda.so /usr/lib/libcuda.so
sudo ln -s /usr/lib/nvidia-current/libGL.so /usr/lib/libGL.so
Install SSH
>> $ sudo apt-get install openssh-server
Install FTP
>> $ sudo apt-get install vsftpd
>> $ sudo gedit /etc/vsftpd.conf
設定檔中,一些重要的設定說明:
# Allow anonymous FTP? (Disabled by default)
anonymous_enable=NO
是否允許任意使用者連線,預設為=NO,只想給自己使用的就請設為NO
# Uncomment this to allow local users to log in.
local_enable=YES
是否允許本機使用者登入FTP,使用自己的帳號登入者請設為YES
# Uncomment this to enable any form of FTP write command.
write_enable=YES
是否開放寫入的權限,視需求設定,一般開放給自己的就都設為YES
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
可寫入,且可新增目錄、檔案權限為 775
local_umask=777
重新啟動vsftpd
sudo /etc/init.d/vsftpd restart