Ubuntu下安装cuda历程记录


首先推荐两个博主的文章,大多都是参考二位

第一位https://www.cnblogs.com/left4back/p/10952845.html

另一位https://blog.csdn.net/u012925946/article/details/84788376

 

总结

 

其实安装命令很容易就能找到,但是自己执行起来却总是行不通。不知道为什么明明按照作者的步骤来的,但是却卡住了

提供以下几个注意的点:

安装cuda首先要做的就是查看内核是否符合要求,比如我要安装的CUDA8,0智能接受最高4.4的内核

其次,CUDA需要NVIDIA显卡,而且必须在双系统下才能运行,因为虚拟机下的ubutun检测不到显卡,没有办法使用

所以先保证你的配置环境符合。

再有就是多试试,就像我的CUDA在内核4。4下安装成功的,而驱动安装好之后 执行nvidia-smi 却没有效果。偶然的机会我打开 内核4.15.0-45 ,驱动成功了

 

 

一、降内核:

命令行敲入sudo dpkg --get-selections|grep linux-image并执行,返回了两个结果,分别为:

linux-image-4.15.0-45-generic install
linux-image-generic-hwe-16.04 install

说明我需要安装4.4 安装步骤如下:

1. 执行以下命令安装

$ sudo apt-get install linux-image-extra-4.4.0-98-generic
2. 执行以下命令查看是否安装成功

$ dpkg -l | grep 4.4.0-98-generic
具体版本号,可以查一下,4.4.后面有多种类型,都可以

 

3. 更新完成后重启系统

$ reboot

之后再次命令行敲入sudo dpkg --get-selections|grep linux-image并执行,返回了四个结果,分别为:

linux-image-4.15.0-45-generic install
linux-image-4.4.0-98-generic install
linux-image-extra-4.4.0-98-generic install
linux-image-generic-hwe-16.04 install

 将linux-image-4.15.0-29-generic修改为linux-image-4.4.0-148-generic

执行sudo vim /etc/default/grub,打开grub设置文件,将GRUB_DEFAULT=0改为GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-148-generic'

随后执行sudo update-grub,如无错误提示,即意味着/boot/grub/grub.cfg修改成功,然后sudo reboot重启电脑

二、禁用nouveau

简单介绍一下nouveau,简单来说它和nvidia系列有冲突,不禁用的话可能会导致黑屏或循环登陆,因此一定要禁掉。

这里提供一个不太一样的禁用方法,这种方法不需要重启电脑。

分为四部:

1.首先ctrl+alt+f1切换到命令行界面,输入账号密码登录;

2.然后sudo service lightdm stop关闭图形界面;

3.sudo modprobe -r nouveau将nouveau彻底干掉;

4.执行lsmod | grep nouveau返回空说明nouveau已经清理干净。

三、安装CUDA

终于到了安装CUDA的步骤了,在禁用nouveau后,不要急着启用lightdm,转到cuda安装文件所在目录,用sudo命令进行安装,

我的cuda安装文件名为cuda_8.0.61_375.26_linux.run,记得要禁用opengl,所以我的命令就是sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib,

禁用opengl据说是为了防止和系统原有的opengl冲突。其余默认安装即可。

注意:如果执行sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib时出现未找到命令,找到cuda_8.0.61_375.26_linux.run文件,右键属性,将其调成可执行文件就可以了

四、安装驱动

 /。。。。。。。。。。。。注意。。。。。。。。。。/

  • 完事之后重启电脑,发现一直循环在登录界面进不了系统桌面
解决办法
  • 进入文本模式  CTRL+ALT+F1
  • 1.2 卸载当前 NVIDIA 所有驱动
  1.  sudo apt-get remove nvidia-*
  1.  sudo apt-get autoremove
  1.  sudo nvidia-unistall
  • 进入图像模式  CTRL+ALT+F7

1.3 重启电脑

 /。。。。。。。。。。。。注意。。。。。。。。。。/

 

安装

第一种

1、    卸载旧的驱动
sudo apt-get purge nvidia*
sudo apt-get autoremove #这个命令有时候不用也可以

 

加入PPA,然后更新库,如果添加国内的镜像源的话,可以参考https://blog.csdn.net/u010592301/article/details/90451179
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update

 

查看适合本机的nvidia驱动
ubuntu-drivers devices

 在终端安装上一步出现的最适合的nvidia版本,如果是384,这安装nvidia-384, 以此类推
sudo apt-get install nvidia-384 nvidia-settings nvidia-prime

  最后使用nvidia-smi 查看是否已经读取到安装的驱动,然后重启
————————————————
版权声明:本文为CSDN博主「qianchess」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010592301/article/details/90452281

 

 
 

 第二种

3、解决进入桌面

重新安装驱动

编辑文件blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容

blacklist nouveau

options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统(一定要重启)

验证nouveau是否已禁用

lsmod | grep nouveau 没有反应说明成功了

4、在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动。网址:http://www.nvidia.cn/page/home.html

我的是NVIDIA-Linux-x86_64-440.100

下载后的run文件拷贝至home目录下。

5、卸载原先的所有驱动:

#for case1: original driver installed by apt-get:
sudo apt-get remove --purge nvidia*
安装

      先按Ctrl+Alt+F1,关闭图形界面(过程中出现星号则证明需要输入密码)

1 $sudo service lightdm stop

      再进入到.run文件目录中,安装驱动

把.run文件放在home文件夹下 2 $sudo chmod a+x NVIDIA-Linux-x86_64-xxx.run         //修改权限 3 $sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files //执行安装

        过程中根据提示,选择Accept等。

    (3)完成安装 

1 $sudo service lightdm start //启动图形界面

       再按Ctrl+Alt+F7回到图形界面即可。

 

 以上两种方法我都试过了,但是都把驱动安装没有成功,执行invidia-smi时都显示没有找到命令,此时我所在的环境为ubutun16.04 内核 4.4.98

 

然后切换回内核4.15.0-45,执行invidia-smi时出现

~$ nvidia-smi
Sat Jul 18 10:28:14 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130                Driver Version: 384.130                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 950M    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   48C    P0    N/A /  N/A |    129MiB /  2002MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1178      G   /usr/lib/xorg/Xorg                            82MiB |
|    0      2052      G   compiz                                        37MiB |
|    0      2225      G   fcitx-qimpanel                                 7MiB |
+-----------------------------------------------------------------------------+

 

很神奇。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM