ubuntu10.4安装cuda4.0

  历时一晚,重装ubuntu2次终于了搞定cuda4.0的安装,一觉醒来略有困意却又兴奋异常,谨以此文做一纪念,同时以备后用。

  安装前到准备工作就不复述,照着CUDA_C_Getting_Started_Linux.pdf上所述,依次检查了自己显卡及系统的配置,以及gcc编译器的版本,确定一切OK,开始到http://developer.nvidia.com/cuda-toolkit-40上下载Developer Drivers for Linux (270.41.19),CUDA Toolkit for Ubuntu Linux 10.10及GPU Computing SDK - complete package including all code samples。

  一/驱动的安装。

(1)先ctrl+alt+F1退出图形界面,输入用户名root及密码登录root权限(关于root密码,我是现在系统中修改了root密码,sudo passwd 密码)

(2)关闭gdm,sudo /etc/init.d/gdm stop

(3)卸载原驱动,nvidia-installer --uninstall (系统没什么反应,估计是我之前就没有显卡驱动,反正看网上有说需要)

(4)进入驱动存放的文件夹下,cd /home (我是放在home下的)

(5)安装驱动,sudo chmod +x devdriver_4.0_linux_32_270.41.19.run及sudo ./devdriver_4.0_linux_32_270.41.19.run(注意上面工具包的名称要跟你下载的工具包名称一致,不同系统版本的文件名略有差别,预设是安装在/usr/local/cuda 目录下,建议就依照他的预设路径安装,安装完成后要设定Library 的Path)

(6)打开gdm,sudo /etc/init.d/gdm start,要是没有自动回到GUI下按ctrl+alt+F6.

  二/驱动装OK后,开始装tookit和sdk

(1)cd 至文件存放的路径,cd /home

(2)用root权限装tookit,sudo sh ./cudatoolkit_4.0.17_linux_32_ubuntu10.10.run,我是选择安装在default路径/usr/local/cuda/ 

(3)用普通用户装sdk,sh ./gpucomputingsdk_4.0.17_linux.run,也选择安装在default路径~/NVIDIA_CUDA-SDK/

  三/接着更该环境变量

(1)打开bashrc进行编辑

gedit ~/.bashrc

(2)在文件的最后加上

export PATH=/usr/local/cuda/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH

如果是64位系统的话需要将上一行的lib改为lib64,然后保存

(3)保存退出,然后运行下面的命令source ~/.bashrc

 (4)保险期间,又在命令行里运行了这两行指令。

  四/设定GCC编译器 

(1)CUDA 4.0 目前只支援到gcc 4.4,若是只有装gcc 4.5 的话,还要再装一下gcc 4.4 才能编译: sudo apt-get install gcc-4.4  , sudo apt-get install g++-4.4

(2)接着要让编译时能够使用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 

(这一步是直接照着网上所述进行,中间有提示一些失败信息,但没有影响最终的安装)

  五/测试

(1)验证CUDA 安装是否正确; 在终端输入 : nvcc –V ,如果安装正确,可以显示版本号

(2)编译CUDA SDK;假设我的linux系统用户名是wu,在终端输入:

cd /home/wu/NVIDIA_GPU_Computing_SDK/C/

make

正确的话可以编译成功,这时,进入bin文件夹:

cd /home/joe/NVIDIA_GPU_Computing_SDK/C/bin/linux/release

./deviceQuery

如果编译正确,可查看各块计算卡的信息,但是一般情况不会这么幸运,总会有些如下提示

/usr/bin/ld: cannot find -lxxx 
collect2: ld returned 1 exit status

这是提示找不到名为xxx的lib,可以直接下载安装这些lib,sudo apt-get install libxxx1-dev libxxx2-dev ....libxxxn-dev

一些常用包的安装:

(Fixes “cannot find -lXi” error)

libxext-dev libxi-dev x11proto-xext-dev

(Fixes “cannot find -lXmu” error)

libice-dev libsm-dev libxt-dev libxmu-headers libxmu-dev

(Fixes “cannot find -lglut” error)

freeglut3-dev libglut3-dev

Solution for cannot find -lXi -lXmu -lglut: Install missing libraries.

sudo apt-get install libxext-dev libxi-dev x11proto-xext-dev libice-dev libsm-dev libxt-dev libxmu-headers libxmu-dev freeglut3-dev libglut3-dev

Solution for cannot find -lGL: There is a broken link for libGL.so, replace it.

sudo rm /usr/lib/libGL.so; sudo ln -s /usr/lib/libGL.so.1 /usr/lib/libGL.so

若出现 
/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命令就可以了。

随后根据手册上提示,安装完这些包后会覆盖/usr/lib/libGL.so,需要重新安装驱动,按着步骤一又装了遍驱动。

回来后发现还不行,再把步骤三设置环境变量重复一遍。

再次编译sdk,

cd /home/wu/NVIDIA_GPU_Computing_SDK/C/

make

等待了几分钟运行完毕,没有报错!

运行

cd /home/joe/NVIDIA_GPU_Computing_SDK/bin/linux/release

./deviceQuery

可以看到显卡信息

运行

cd /home/joe/NVIDIA_GPU_Computing_SDK/bin/linux/release

./bandwidthTest

可以看到testpassed。

 

一切OK,终于告成!时针指向凌晨一点,回家睡觉!

整个安装过程借鉴了网络上很多xd的经验,在此就不一一列举一并谢过!

注意,安装过程中如果driver,tookit或sdk某一步出现什么问题 ,哪个部分出问题就直接删除那部分的安装的文件夹进行重装

posted on 2011-12-14 09:37  joseph1984  阅读(1526)  评论(0编辑  收藏  举报