Ubuntu 11.04 CUDA4.0的安装与编译

来源:互联网 发布:门面招牌设计软件 编辑:程序博客网 时间:2024/06/11 22:48
 

出差的时候网上查了查相关的资料,回来用了早上的空余时间编译通了,主要的参考网址有两个:

中文:http://topic.csdn.net/u/20110809/13/281a50dc-605f-4b32-92bf-4193eeebf7ec.html

英文:http://forums.nvidia.com/index.php?showtopic=198030

 

Now, let's go...

Firstly install the needed dependencies:

sudo apt-get install build-essential gcc-4.4 g++-4.4 libxi-dev libxmu-dev freeglut3-dev

 

secondly, 从NVIDIA网站(http://developer.nvidia.com/cuda-downloads)下载CUDA driver、CUDA Toolkit for Ubuntu Linux 10.10、CUDA Tools SDK与GPU Computing SDK code samples。

You will also need to get the Developer Drivers from the same place, but the installation here is not so straightforward.
first you need to remove the current nvidia packages you might have installed:

sudo apt-get remove nvidia-common nvidia-current


Then you have to stop X and install the drivers
after you have stopped gdm you might have to ctrl+alt+F1 to get to a VT
(better have a livecd around in case this goes wrong :P)

sudo service gdm stop

run the driver installer you downloaded and then start gdm again

下载完成后先安装CUDA driver,由于在ubuntu11.04下无法正常的用sh命令进行安装,所以需要用一下命令进行安装:

chmod +x devdriver_4.0_linux_64_270.41.19.run
sudo ./devdriver_4.0_linux_64_270.41.19.run

sudo service gdm start


if all went well you should have X up and running again.
I had to blacklist the nouveau module because it conflicted with the nvidia driver, so in /etc/modprobe.d/nouveau.conf put:

blacklist nouveau

 

下载完成后先安装CUDA Toolkit for Ubuntu Linux 10.10,由于在ubuntu11.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 
若是幸运的话,这样就大公告成了,但通常都会有些问题,像编译时若是出现类似这样的问题: 
/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 
总之出了错都会有些错误讯息,仔细看看错误讯息大概都可以解决的。
我安装的时候就出现了/usr/bin/ld: cannot find -lGL 
collect2: ld returned 1 exit status 
在使用sudo ln -s /usr/lib/nvidia-current/libGL.so /usr/lib/libGL.so命令时又提示说/usr/lib/libGL.so已经存在,这时,可以在lib目录下随便建立一个目录将libGL.so剪切至你新建那个目录里备份起来,然后再运行 sudo ln -s /usr/lib/nvidia-current/libGL.so /usr/lib/libGL.so命令就可以了。
安装完成之后就要检验一下安装是否成功
进入~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release目录下看看是不是有很多可执行文件

注意deviceQuery这个可执行文件,我们就是要执行它来判断自己的CUDA是否安装成功,输入./deviceQuery命令来执行它,如果出现你的显卡信息则说明CUDA已经安装成功


原创粉丝点击