Ubuntu Linux 11.04 安裝 NVIDIA CUDA 4.0 RC2
Installing NVIDIA CUDA 4.0 RC2 under Ubuntu Linux 11.04

NVIDIA CUDA 4.0 在 2011 年 4 月釋出,一樣有各種平台的版本,除了 Windows XP, Windows VISTA、Windows 7 與 Mac OS 外,Linux 的部份也支援好幾種版本:
  • Fedora 13
  • RedHat Enterprise Linux 4.8
  • RedHat Enterprise Linux 5.5
  • RedHat Enterprise Linux 6.0
  • Ubuntu Linux 10.10
  • OpenSUSE 11.2
  • SUSE Linux Enterprise Server 11 SP1
這裡介紹如何在 Ubuntu 11.04 中安裝 CUDA 4.0 RC2,目前 NVIDIA 官方網站上明確支援的 Ubuntu 版本只有到 Ubuntu 10.10,但經過一些小修改,也可以裝在 Ubuntu 11.04 的系統上。

下載與安裝 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:
chmod +x cudatoolkit_4.0.13_linux_64_ubuntu10.10.run
sudo ./cudatoolkit_4.0.13_linux_64_ubuntu10.10.run


預設是安裝在 /usr/local/cuda 目錄下,建議就依照他的預設路徑安裝,安裝完成後要設定 Library 的 Path,有兩個方式,一種是更改 LD_LIBRARY_PATH 環境變數,但我習慣直接加在 /etc/ld.so.conf.d/ 裡面:
sudo echo "/usr/local/cuda/lib64" > /etc/ld.so.conf.d/cuda-40.conf
sudo echo "/usr/local/cuda/lib" >> /etc/ld.so.conf.d/cuda-40.conf
sudo ldconfig


再設定 PATH:
echo 'export PATH=$PATH:/usr/local/cuda/bin' >> ~/.bashrc

安裝 CUDA Tools SDK:
chmod +x cudatools_4.0.13_linux_64.run
sudo ./cudatools_4.0.13_linux_64.run


預設是安裝在 /usr/local/cuda/CUDAToolsSDK 目錄下。

安裝 GPU Computing SDK code samples:
chmod +x gpucomputingsdk_4.0.13_linux.run
./gpucomputingsdk_4.0.13_linux.run


預設是安裝在自己帳號的 ~/NVIDIA_GPU_Computing_SDK 目錄下,安裝時要設置 CUDA 安裝的路徑:
Enter CUDA install path (default /usr/local/cuda):
若 CUDA 都是依照預設路徑安裝,則這裡就不需要更動。

設定 GCC 編譯器

CUDA 4.0 RC2 目前只支援到 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


若是幸運的話,這樣就大公告成了,但通常都會有些問題,像編譯時若是出現類似這樣的問題:
/usr/bin/ld: cannot find -lXi
/usr/bin/ld: cannot find -lXmu
/usr/bin/ld: cannot find -lglut
collect2: ld returned 1 exit status
是表示有一些必要的 Library 沒裝,用 apt-cache 找一下再用 apt-get 裝起來就可以了:
apt-get install libxi-dev libxmu-dev libglut3-dev

若出現
/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


總之出了錯都會有些錯誤訊息,仔細看看錯誤訊息大概都可以解決的。


本站已經搬家了,欲查看最新的文章,請至 G. T. Wang 新網站