ubuntu 14.04 (64bit) 安装 CUDA7.5

来源:互联网 发布:淘宝联名信用卡哪个好 编辑:程序博客网 时间:2024/06/03 18:16

看了很多人发的关于cuda的安装教程,方法千奇百怪,有的直接更新源就安装,不可否认我之前这台电脑就是通过直接更新源安装就成功了,但是前两天因为版本问题不得不重装系统,再用这种方法就再也安装不上了。要么安装后黑屏,要么登陆界面一直循环。找了很多种方法,大多都以悲剧告终。重装了20多次系统,最后通过看nvidia官方教程找了办法并安装成功。(一路畅通无阻,这种感觉真TM爽!这几天快被装系统搞崩了)

1、检查自己的GPU是否是CUDA-capable

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $ lspci | grep -i nvidia     

会显示自己的NVIDIA GPU版本信息  ,具体信息可以查询一下官网或者百度一下cuda支持的显卡列表。我的电脑是GT 650M可以装


2、检查自己的系统中是否装了gcc

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $ gcc -version  

没有的话可以通过 sudo apt-get install gcc安装


3、检查是否安装了kernel header和 package development

在终端中输入:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $uname –r  

可以查看自己的kernel版本信息 在终端中输入:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $ sudo apt-get install linux-headers-$(uname -r)  

4、安装途径

建议使用runfile方式,deb方式有点坑,在你没选择的时候就把openGL给安装了,而这个openGL就是导致黑屏和登陆界面循环的根源之一

下载地址:https://developer.nvidia.com/cuda-downloads

现在的版本为8.0,有特殊要求的(比如我)要装7.5版本可以点上面的小放大镜,搜索 cuda 7.5 即可

根据你的系统,版本,位数,安装方法来选择要下载的文件


5、拉黑nouveau

ubuntu自带的nouveau驱动会影响cuda安装,不当操作会导致黑屏和登陆循环

终端中运行:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $ lsmod | grep nouveau  

如果有输出则代表nouveau正在加载。

Ubuntu的nouveau禁用方法:
/etc/modprobe.d中创建文件blacklist-nouveau.conf(具体方式为先$cd /etc/modprobe.d   再$ sudo touch blacklist-nouveau.conf),

再用getid打开

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $sudo getid blacklist-nouveau.conf    

  在文件中输入以下内容并保存

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. blacklist nouveau  
  2. options nouveau modeset=0  
之后更新

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. sudo update-initramfs -u    
注:这种方式也可能不能彻底禁用nouveau,在此基础上可以移除以下文件,以防万一,其中xxxxxx为你的版本文件,自己根据路径查看一下就可以了/lib/modules/xxxxxxxx/kernel/drivers/gpu/drm/nouveau/nouveau.ko/lib/modules/xxxxxxxx/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org第二位文件一般是隐藏的具体操作
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. cd/lib/modules/xxxxxxxx/kernel/drivers/gpu/drm/nouveau  
  2.   
  3. sudo rm -rf nouveau.ko  
  4.   
  5. sudo rm -rf nouveau.ko.org  
再更新
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $ sudo update-initramfs –u  
此时再用终端检测一下:  
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $lsmod | grep nouveau    
没有输出即为禁用成功
6、重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户输入
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $sudo service lightdm stop   
关闭图形化界面
注:此时可能关不了,即使现实该操作OK,但是一会再开启时会有问题,可以在此基础上增加操作,自己删除X图像界面
切记图像界面X/tmp路径下,具体操作:
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $ cd /tmp  
  2. $sudo rm -rf .X*  
这样就可以把关于X的图像界面文件全部删除(每次重启都会再次生成,所以会在alt+ctrl+f1界面下操作)
7、正式开工!(记住此时还在alt+ctrl+f1界面下)
cd到你的.run 文件所处的路径下
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $sudo sh cuda_7.5.18_linux.run    
(你要是其他版本的改一下就好了)
按照步骤一步步来,这时切记!!!!!!!当问你要不要装openGL时不要点yes!不要直接回车,因为默认是yes!要点输入n,再点回车!!
除了openGL其余都选yes
最后你会看到cuda驱动、sampletookit已经安装成功
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $sudo service lightdm start   
重新启动图形化界面。再ctrl+alt+f7退出text mode
如果这时候你能成功输入密码并进入桌面,恭喜你!装cuda这事基本成了
8、重启电脑。检查Device Node Verification
检查路径~/dev下有无存在名为nvidia*(以nvidia开头)的多个文件(device files)如果没有的话,可以参考官方文档里的指导步骤,进行添加。
官网地址:http://us.download.nvidia.com/XFree86/Linux-x86_64/375.20/README/installdriver.html
下面是device node verification,看看是是否存在/dec/nvidia*之类的文件和是否有读写权限,如果没有文件,我们自己添加,没有权限,自己改就好,添加方法,看这个脚本文件
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. #!/bin/bash  
  2. /sbin/modprobe nvidia if [ "$?" -eq 0 ]; then  
  3.   
  4. #  
  5. Count the number of NVIDIA controllers found.  
  6.   
  7. NVDEVS=`lspci  
  8. | grep -i NVIDIA` N3D=`echo "$NVDEVS" | grep "3D  
  9. controller" | wc -l` NVGA=`echo "$NVDEVS" | grep "VGA  
  10. compatible controller" | wc -l` N=`expr $N3D + $NVGA - 1` for i  
  11. in `seq 0 $N`; do mknod -m 666 /dev/nvidia$i c 195 $i done mknod -m  
  12. 666 /dev/nvidiactl c 195 255 else   
  13.   
  14. exit  
  15. 1 fi /sbin/modprobe nvidia-uvm if [ "$?" -eq 0 ]; then   
  16.   
  17. #  
  18. Find out the major device number used by the nvidia-uvm driver  
  19. D=`grep nvidia-uvm /proc/devices | awk '{print $1}'` mknod -m 666  
  20. /dev/nvidia-uvm c $D 0 else  
  21.   
  22. exit  
  23. 1 fi  
9、设置环境变量
终端输入进去:
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $export PATH=/usr/local/cuda-7.5/bin:$PATH  
  2.   
  3. $export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64  
  4.   
  5. $export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH  


10、重启电脑检查环境变量配置
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $env  
11、检查工作
a)检查 NVIDIA Driver是否安装成功
终端输入 :
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $cat /proc/driver/nvidia/version  
  2. 会输出<span style="font-family:Liberation Mono,monospace;"><span lang="en-US">NVIDIADriver</span></span>的版本号  
b)检查 CUDA Toolkit是否安装成功
终端输入 : $nvcc -V 会输出CUDA的版本信息
c) 尝试编译cuda提供的例子
切换到例子存放的路径,默认路径是~/NVIDIA_CUDA-7.5_Samples(即 /home/xxx/NVIDIA_CUDA-7.5_Samplesxxx是你自己的用户名)
然后终端输入:
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $make   
如果出现错误的话,则会立即报错停止,否则会开始进入编译阶段。我的第一次运行时出现了报错,提示的错误信息是系统中没有gcc,然后在终端运行
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
  1. $sudo apt-get install gcc   
安装完gcc后再make就正常了整个编译的时间持续比较长,耐心等待,大概十几分钟是需要的。
d)运行编译生成的二进制文件。
编译后的二进制文件默认存放在~/NVIDIA_CUDA-7.5_Samples/bin中。
NOTE一下:很多装caffe的用户都是再根目录下的cuda文件夹中build sample ,根目录的为/usr/local/cuda/sample,再该文件夹用命令 sudo make all -j4,此时生成的可执行文件夹为/usr/local/cuda/sample/bin/x86_64/linux/release
切换路径 : cd~/NVIDIA_CUDA-7.5_Samples/bin 终端输入:$./deviceQuery
看到类似如下图片中的显示,则代表CUDA安装且配置成功(congratulation!!)
再检查一下系统和CUDA-Capabledevice的连接情况 终端输入:
 $./sandwidthTest 
看到类似如下图片中的显示,则代表成功

第一次写那么长的,借鉴了官网cuda安装说明书和masa_fish的博客希望大家可以安装成功,少走弯路

0 0
原创粉丝点击