NVIDIA CUDA 4.0释出,一样有各种平台的版本,除了 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 网站下载(http://developer.nvidia.com/cuda-toolkit-40) 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
总之出了错都会有些错误讯息,仔细看看错误讯息大概都可以解决的。