終於在Ubuntu 11.04下把cuda4.0安裝上了,Nvidia官網上給的CUDA工具包只支持到Ubuntu 11.10,正常情況下在Ubuntu 11.04下是無法安裝的,後來經過上網查閱一些資料加上實踐後,已經將cuda4.0安裝完畢並可以正常運行了,下面記錄下我的安裝流程:
先聲明一下我的電腦配置:
CPU:Intel core P8600
內存:2*2G
顯卡:Nvidia Quadro NVS 160M
硬盤:250G 7200轉
系統:windows7-32bit;RedHat CentOS5.6-64bit;Ubuntu 11.04-32bit
由於安裝之前已經知道Ubuntu 11.04下無法正常安裝cuda4.0,參考http://www.linuxidc.com/Linux/2011-10/46304.htm,裡面的內容比較詳細,本文部分內容也引自此篇文章。
1:下載與安裝CUDA 4.0
首先從NVIDIA網站下載CUDA Toolkit for Ubuntu Linux 10.10、CUDA Tools SDK與GPU Computing SDK code samples。
下載完成後先安裝CUDA Toolkit for Ubuntu Linux 10.10,由於在Ubuntu 11.04下無法正常的用sh命令進行安裝,所以需要用一下命令進行安裝:
chmod +x cudatoolkit_4.0.17_linux_32_ubuntu10.10.run
sudo ./cudatoolkit_4.0.17_linux_32_ubuntu10.10.run
注意上面工具包的名稱要跟你下載的工具包名稱一致,不同系統版本的文件名略有差別。
預設是安裝在/usr/local/cuda 目錄下,建議就依照他的預設路徑安裝,安裝完成後要設定Library 的Path,有兩個方式,一種是更改LD_LIBRARY_PATH 環境變數:
在用戶名的目錄下打開.bashrc文件,可以通過vi命令或者gedit命令進行編輯,我更喜歡後者,在末尾處加入兩行命令:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
如果是64位系統的話需要將上一行的lib改為lib64,然後保存
另一種方法是直接加在/etc/ld.so.conf.d/ 裡面:
sudo echo "/usr/local/cuda/lib" >> /etc/ld.so.conf.d/cuda-40.conf
sudo ldconfig
如果是64位系統同樣將lib改為lib64
再設定PATH:
echo 'export PATH=$PATH:/usr/local/cuda/bin' >> ~/.bashrc
安裝CUDA Tools SDK:
chmod +x cudatools_4.0.17_linux_32.run
sudo ./cudatools_4.0.17_linux_32.run
預設是安裝在/usr/local/cuda/CUDAToolsSDK 目錄下。
安裝GPU Computing SDK code samples:
chmod +x gpucomputingsdk_4.0.17_linux.run
./gpucomputingsdk_4.0.17_linux.run
預設是安裝在自己帳號的~/NVIDIA_GPU_Computing_SDK 目錄下,安裝時要設置CUDA 安裝的路徑: Enter CUDA install path (default /usr/local/cuda):
若CUDA 都是依照預設路徑安裝,則這裡就不需要更動。
設定GCC編譯器
CUDA 4.0 目前只支援到gcc 4.4,若是只有裝gcc 4.5 的話,還要再裝一下gcc 4.4 才能編譯: sudo apt-get install gcc-4.4
接著要讓編譯時能夠使用gcc 4.4,一種方式是將系統的/usr/bin/gcc 改連到/usr/bin/gcc-4.4,/usr/bin/g++ 也一樣改連到/usr/bin/ g++-4.4,或是使用update-alternative:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 150
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.5 150
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100
接著使用update-alternatives 選擇4.4 版的gcc:
sudo update-alternatives --config gcc
執行後選擇gcc-4.4,再接著選擇4.4 版的g++:
sudo update-alternatives --config g++
執行後選擇g++-4.4
若不想修改整個系統的設定,有另一個辦法可以處理,自己建一個~/bin 目錄,然後建立gcc-4.4 與g++-4.4 的連結,再將這個路徑加入自己的PATH 中,這樣就不會影響其他的程式:
mkdir ~/bin
ln -s /usr/bin/gcc-4.4 ~/bin/gcc
ln -s /usr/bin/g++-4.4 ~/bin/g++
然後在每次要編譯CUDA 程式前執行:
export PATH=~/bin:$PATH
這樣就不需要更動到系統其他程式的設定了。
編譯GPU Computing SDK code samples
接下來要編譯GPU Computing SDK code samples:
cd ~/NVIDIA_GPU_Computing_SDK
make