ubuntu18.04 安装CUDA11.2

13 篇文章 25 订阅
8 篇文章 1 订阅

Ubuntu配置CUDA:

也不知道是谁说的Ubuntu配置CUDA比win10容易, 反正我前前后后整了2天, 裂开了

这里记录一下详细的步骤

前言:

本地环境为ubuntu18.04.5 LTS

这里使用新装的系统, 所以操作会有点粗犷, 使用暴力指令等, 效仿者请注意

本文为经典事后烟,可能存有大量疏漏, 效仿者请注意

操作过程全部使用SSH远程链接

这里给出老黄官方CUDA Toolkit 的安装教程, 有啥步骤不明确以这个为准

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

确认显卡支持CUDA:

这个不用多说了吧, 只要不是上古显卡和隔壁苏妈的货, 基本都支持CUDA

上古显卡也别整CUDA开发了, 先下点血本搞硬件吧

直接照搬官方的教程:

To verify that your GPU is CUDA-capable, go to your distribution’s equivalent of System Properties, or, from the command line, enter:

$ lspci | grep -i nvidia

If you do not see any settings, update the PCI hardware database that Linux maintains by entering update-pciids (generally found in /sbin) at the command line and rerun the previous lspci command.

If your graphics card is from NVIDIA and it is listed in https://developer.nvidia.com/cuda-gpus, your GPU is CUDA-capable.

The Release Notes for the CUDA Toolkit also contain a list of supported products.

确认CUDA版本对应的内核版本:

这一步很关键

之前就有看到其他教程上来就sudo apt-get upgrade

殊不知nvidia的驱动极其专一, 每一版的CUDA都有对应的Linux内核

这里打算装CUDA 10.0 去官网找到对应的内核版本:

CUDA Toolkit Documentation官网:

https://docs.nvidia.com/cuda/archive/

可以看到CUDA 10.0版本不支持Ubuntu18.04.5 LTS, 所以直接换, 不用考虑的

image-20210301192129133

而CUDA最新的版本CUDA11.2.1支持, 这里直接选择上11.2.1

image-20210301193142100

ubuntu内核降级:

基本参考这个资料, 就能完成所有工作

https://www.cnblogs.com/minseo/p/13065321.html

安装指定版本的GCC:

第一次安装以为很简单, 直接跑了波安装包, 结果炸了, 原因就是gcc

官网教程是这样说的:

The gcc compiler is required for development using the CUDA Toolkit. It is not required for running CUDA applications. It is generally installed as part of the Linux installation, and in most cases the version of gcc installed with a supported version of Linux will work correctly.

To verify the version of gcc installed on your system, type the following on the command line:

$ gcc --version

If an error message displays, you need to install the development tools from your Linux distribution or obtain a version of gcc and its accompanying toolchain from the Web.

然而ubuntu18.04的默认gcc版本是7.x, 和上头表格中推荐的版本不一样

也不知道版本不对的gcc能不能用, 这里直接将原gcc替换为gcc8.2.0

操作有点繁琐, 耗时很久, 不想搞的小伙伴可以试试直接用默认的gcc, 我也不知道支不支持

详细操作过程可以看我的另一篇博客:

https://blog.csdn.net/qq_42683011/article/details/114271908

验证系统是否安装了正确的头文件 & 开发包

sudo apt-get install linux-headers-$(uname -r)

我这里已经安装过了:

image-20210301212227686

删除原系统显卡驱动:

由于是虚拟机ubuntu + 直通的K80显卡, 所以没有显卡驱动

但是之前看了很多不懂装懂的垃圾教程, 导致我总共装了5次显卡驱动, 进而熟练的掌握了卸载显卡驱动的方法

To remove CUDA Toolkit:
$ sudo apt-get --purge remove "*cublas*" "cuda*"
To remove NVIDIA Drivers:
$ sudo apt-get --purge remove "nvidia*" 	# 这个指令可能导致有些东西卸不掉
$ sudo apt-get --purge remove "*nvidia*"	# 然后后头就找到了这个指令, 吧之前卸不掉的都砍干净了

此时使用:

dpkg -l | grep nvidia

检测有没有残留, 如果有残留, 则使用以下删除剩余的所有关联:

sudo apt-get autoremove

注意, 这个指令慎用
由于本地环境是刚安装的新ubunt, 所以爷毫无畏惧

但是由于完全不知道这个命令会移除一些什么奇怪的东西, 很大可能会移除一些不想移除的东西, 导致环境被破坏东西开不起来等, 恢复非常麻烦

参考资料:

https://zhuanlan.zhihu.com/p/160926980

本地环境中按照以上一波操作, 在dpkg -l | grep nvidia中以找不到任何nvidia的玩意儿

image-20210301191343839

常规操作:

之后的常规操作参考这篇博客:

https://blog.csdn.net/weixin_40554881/article/details/86489977?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=2a0b8cd7-7fbd-4c97-aba0-028ddb61a946&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

百度搜出来的很多教程操作都和这篇大同小异

本部分大致总结一下操作过程

禁用nouvea显卡驱动

nouvea是ubuntu默认为显卡安装的一个开源驱动

首先查看nouvea是否在运行:

lsmod | grep nouveau

如果没有任何输出, 则证明nouveau没运行

否则需要禁用nouveau显卡驱动:

  1. 在/etc/modprobe.d/文件夹下创建blacklist-nouveau.conf文件

  2. 在文件中添加内容为

    blacklist nouveau
    options nouveau modeset=0
    
  3. 再更新一下内核

    sudo update-initramfs -u
    
  4. 输入reboot命令重启系统,强力保证blacklist生效。

  5. 输入lsmod | grep nouveau查看是否vouveau真的被干掉了

    如果,没有任何内容出现, 即证明成功除掉了nouveau驱动。

关闭图形界面:

显卡驱动这玩意最好还是关闭图形界面安装

关闭图形界面:

sudo systemctl set-default multi-user.target

sudo reboot

打开图形界面

sudo systemctl set-default graphical.target

sudo reboot

下载CUDA安装包:

直接在官网上挑一个想要的版本:

https://developer.nvidia.com/cuda-toolkit-archive

image-20210301212810416

注意这里要选runfile版本, 其他的可能会出现玄学错误

这里要挂梯子才下的快

安装CUDA:

进入到文件所在目录, 按照官方的命令行开始安装:

sudo sh cuda_11.2.1_460.32.03_linux.run

而后一路看命令行提示, 根据需求选择

这里没啥难度, 不慌, 如果出问题了也不是这里选错了

安装如果成功会显示个这:

image-20210301213817794

看到三个installed, 我放心了

添加系统路径:

PATH=/usr/local/cuda-11.2/bin:$PATH
LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH
export PATH
export LD_LIBRARY_PATH
sudo su #切换到root账户
echo "/usr/local/cuda/lib64" > /etc/ld.so.conf.d/cuda.conf

测试:


然而

怎么还是不行?

image-20210302000346089

我已经找了几乎所有能找到的资料了

还不行, 那👴🏼去继续用win10开发了………


时间来到2021-4-5:

之后发现win10 CentOS都打不上驱动, 一番研究之后发现是主板设置与虚拟机设置问题, 与安装驱动的步骤没有关系

在重新配置了主板BIOS与虚拟机配置后, 能正常安装驱动了

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值