预处理步骤:
首先确认你的电脑装了一个可以运行CUDA程序的GPU。
lspci | grep -i nvidia
另外要确认linux版本和gcc版本
具体参考链接:http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html
下载Nvdia Toolkit
下载链接:http://developer.nvidia.com/cuda-downloads
首先安装cuda要先进入控制台模式,在Linux中可以通过Ctrl+Alt+Backspace退出控制台界面。
也可以在终端中通过命令推出控制台界面。
首先通过命令:
ls /etc/init.d/ | grep dm
来查找图形化显示管理器,查找得到的文件一般是两个,其中一个是dmesg,是启动信息的记录文件。
另外一个则是图形化显示管理器文件。
ubuntu12.04查到的文件是 lightdm
所以关闭图形化界面的命令是
/etc/init.d/lightdm stop
然后安装文件
sudo sh cuda_5.5.xx_linux_32_[distro].run
结果出错了:
===========
= Summary =
===========
Driver: Installation Failed
Toolkit: Installation skipped
Samples: Installation skipped
Logfile is /tmp/cuda_install_9016.log
出错了,自然找错啦:
vim /tmp/cuda_intall_9016.log
找错
然后就找到这么一段:
ERROR: The Nouveau kernel driver is currently in use by your system. This
driver is incompatible with the NVIDIA driver, and must be disabled
before proceeding. Please consult the NVIDIA driver README and your
Linux distribution's documentation for details on how to correctly
disable the Nouveau kernel driver.
所以呢,是 Nouveau 这个kernel影响了cuda安装的过程。
只要把这个程式禁用了就好了,
详细信息参照这篇帖子:http://blog.sciencenet.cn/blog-464042-644393.html
Nouveau kernel driver 这个驱动正在被系统使用,这个驱动和Nvidia驱动冲突,要想继续安装,则必须禁用此驱动!因为RHEL 6 系统默认装的显卡驱动就是Nouveau . Nouveau是一个由爱好者组织的针对NVIDIA显卡开发第三方开源3D驱动的共同项目,并且Nouveau是在完全没有得到NVIDIA任何支 持的情况下进行开发的,Nouveau算是X.Org基金会的一个项目.
帖子里贴了很多禁用的方法:
解决办法如下:
1)把驱动加入黑名单中: /etc/modprobe.d/blacklist.conf 在后面加入:
blacklist nouveau
2) 使用 dracut重新建立 initramfs image file :
* 备份 the initramfs file
sudomv/boot/initramfs−
(uname -r).img /boot/initramfs-
(uname−r).img.bak∗重新建立theinitramfsfile
sudo dracut -v /boot/initramfs-
(uname−r).img
(uname -r)
3) 重启系统至文本模式,init 3 这个可以修改/etc/inittab 文件 init 3是文本模式,
init 5是图形界面模式.重启之后,进入文本模式,其实可以发现字体变大了,也就是说驱动没有被加载,成功禁用了Nouveau
我采用的是第一种,记得弄完后重启电脑,重启电脑后记得再关闭图形界面哦。
然后再安装就成功了。
===========
= Summary =
===========
Driver: Installed
Toolkit: Installed in /usr/local/cuda-5.5
Samples: Installed in /root/NVIDIA_CUDA-5.5_Samples, but missing recommended libraries
* Please make sure your PATH includes /usr/local/cuda-5.5/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /usr/local/cuda-5.5/lib
* for 64-bit Linux distributions includes /usr/local/cuda-5.5/lib64:/lib
* OR
* for 32-bit Linux distributions add /usr/local/cuda-5.5/lib
* for 64-bit Linux distributions add /usr/local/cuda-5.5/lib64 and /lib
* to /etc/ld.so.conf and run ldconfig as root
* To uninstall CUDA, remove the CUDA files in /usr/local/cuda-5.5
* Installation Complete
Please see CUDA_Getting_Started_Linux.pdf in /usr/local/cuda-5.5/doc/pdf for detailed information on setting up CUDA.
Logfile is /tmp/cuda_install_2672.log
现在的summery就是三个需要安装的部分都已经安装好了。
但是任务还没有结束哦,还要根据安装提示添加路径。
#64 bit systems - export PATH=$PATH:/usr/local/cuda-5.5/bin 在/etc/ld.so.conf文件中加上/usr/local/cuda-5.5/lib64 and /lib 然后
sudo ldconfig
完成
最后这个操作可以选择性操作,简历cuda samples项目
cd <SAMPLES_INSTALL_PATH> 例如 cd ~/NVIDIA_CUDA-5.5_Samples/NVIDIA_CUDA-5.5_Samples
make
如果出错了,可能是没有装g++哦。
又出错了,提示:../../common/inc/GL/glew.h:1142:20: fatal error: GL/glu.h: No such file or directory
安装 libglu-dev 这个文件就好了。
但还是错了
/usr/bin/ld: cannot find -lglut
collect2: ld returned 1 exit status
make[1]: *** [simpleTexture3D] Error 1
make[1]: Leaving directory `/root/NVIDIA_CUDA-5.5_Samples/NVIDIA_CUDA-5.5_Samples/2_Graphics/simpleTexture3D'
make: *** [2_Graphics/simpleTexture3D/Makefile.ph_build] Error 2
参考这个链接:http://molinux.blog.51cto.com/2536040/716010
根据/usr/bin/ld:cannot find -lglut 可以用 apt-cache search glut 来查找需要安装的文件。
查出来的有很多,根据直觉,应该是要安装 freeglut3-dev 不要问我为什么会有这种直觉,因为系统知识实在太烂,所以只能靠直觉咯,好歹神灵保佑,蒙对了。
meke成功 大功告成。嘿嘿嘿嘿。