CentOS7 安装cuda

之前写过一篇博文,其中有一个章节介绍在Ubuntu下安装cuda,这次在CentOS下安装cuda,竟然遇到了不少坑,百度了大部分都是错的,所以在问题解决后,分享出来给各位同学,遇到类似的情况有个正确的解决方法。

1. 正确安装流程:

打开nVIDIA CUDA Toolkit 10.2 Download,选择对应版本下载安装文件。
以安装cuda10.2为例,给出的安装命令如下:

  1. wget
    http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-rhel7-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm

  2. sudo
    rpm -i cuda-repo-rhel7-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm

  3. sudo yum clean allsudo yum -y install nvidia-driver-latest-dkms cuda

  4. sudo yum -y install cuda-drivers
    如果各位能正确安装,就不需要继续往下看了…

2. 遇到的问题及解决方法:

建议安装cuda,再安装显卡驱动。

2.1 第2步提示/var空间不足

这个坑无疑是巨大的,因为开始安装CentOS7的时候没有注意,/var目录自动分配了2G的空间,然而cuda的安装包就有2个多G,即使全部清空也不一定够安装…
这就进入到了下一个话题,需要给var分配更多的空间,或者将var拷贝至home路径下,再设置软连接至根目录(这种方法可以参考这篇linux系统下/var空间不足的解决办法),下面主要介绍第一种如何解决:

  1. 在双系统Win+Linux下,首先需要在Windows磁盘管理中查看,Linux系统所挂载分区前后是否有可能创建连续的未分配空间,如果有,可以参考这两篇linux/win 双系统环境下为linux扩容、win10+linux双系统给linux系统分区内存扩容,如果没有(或者看了这两篇之后失败了系统还能起的来)继续看下一步;
  2. df -hT找一个空间大的路径,比如/home,然后的思路就是把/home挂载的分区容量缩小一下,分配给/var,接下来的操作建议在root用户下登录,这样可以减少一些占用/home资源的进程,以卸载/home挂载点;
  3. 懒得打字了,直接看注释:
 cp -a /home {%填一个你的备份路径%}  #因为/home一般是xfs文件系统,只支持扩容,缩减的话需要格式化
umount -l /home #强制卸载/home挂载点
df -hT #看一看卸了没有
fuser -km /home #杀死所有占用/home路径下资源的进程
lvreduce -L 60G /dev/mapper/centos-home #设置逻辑分区大小,将多余的空间进行分配,60G、/dev/mapper/centos-home根据自己的需求设定
mkfs.xfs /dev/mapper/centos-home -f #格式化
mount -a #挂载所有
lsblk #看一看大小对不对
df -hT #看一看挂载上/home了没有
lvextend -L +10G /dev/mapper/centos-var #给/var容量+10G
xfs-growfs /dev/mapper/centos-var #应用设置
cp -a {%填一个你的备份路径%}  /home #还原备份
reboot
2.2 显卡驱动卸载

参考这篇cuda10安装——在CentOS上安装的艰难过程。

2.3 第3步走不下去的看这里
yum install gcc -y
yum install kernel* -y
yum install epel-release -y
yum install --enablerepo=epel dkms -y

你可能感兴趣的:(工具方法类,Linux)