由于实验室之前的电脑系统崩了,在重装了系统之后自然需要安装cuda,下面是自己在安装cuda的时候遇到的一些问题以及解决方案。

0. 基本信息

显卡比较老,是GTX 1060,操作系统选择了CentOS 7,安装选项选择了基本开发工具。操作系统安装完成后,已经更换了国内源并且已经yum -y updade过了。 具体安装过程主要参考了CentOS 7.6安装 NVIDIA 独立显卡驱动

1. Nvidia 驱动安装

首先,cuda的安装依赖于nvidia的驱动,因此需要先安装nvidia驱动。 在这里,我是新系统,所以是已知没有驱动的,如果已知有驱动,也即 nvidia-smi这个命令是有显示而不是提示command not found可以跳过第一步。

1.1 查看显卡型号

使用命令lspci | grep -i vga显示显卡信息,然后在nvidia官网提供的驱动上选择与你当前系统和显卡匹配的驱动程序。

nvidia驱动下载

centos 7 安装swat centos 7 安装显卡驱动_centos 7 安装swat

然后搜索下载,等待下载完成。

1.2 安装依赖

由于我的操作系统在安装时选择了基本开发工具的选项,所以基本的git之类的命令都是已经存在的。至于具体依赖可以参考:CentOS7安装NVIDIA驱动

1.3 禁用nouveau

禁用的方式比较简单,主要参考了CentOS 7.6安装 NVIDIA 独立显卡驱动

1.4 问题处理

我没有遇到特别的问题,主要的问题有

1.4.1 设置了blacklist依旧会显示nouveau的信息

在按照参考博客处理后进行重启后,执行 lsmod | grep nouveau依旧存在nouveau的信息,重试了几次之后发现是由于上面的博客似乎构建了一个新的内核(一个原系统的备份,另一个是屏蔽了nouveau的内核),在原系统的内核中nouveau显然是存在的,但是在后面的内核中是不存在的,而默认的开机内核则是前者,因此需要选择后者作为安装驱动的内核才可以。 具体如何区分两者?简单地说,因为nouveau的存在,即使是文本界面,前者也会显得很清晰,而后者会显得特别模糊,相对来说字体会比较大。 实在不行就更换到另一个内核尝试一下。

1.4.2 在安装过程中出现的选择题如何选择

在这里,选项主要参考了nvidia选项选择

1.4.3 切换回图形界面

虽然已经可以使用nvidia-smi的命令,但是依然是文本界面,在使用init 5后虽然本次切到了图形界面,但是下次重启依旧是文本界面,这里参考了centos切换文本界面与图形界面

1.4.4 切换默认内核

由于系统的默认内核依旧是安装了nouveau的内核,所以为了方便使用,需要切换默认内核,这里还没有尝试过。

1.4.5 驱动的安装方式

后来在博客中看到驱动的安装除了上面说的编译方式,还有直接yum的方式,具体可以参考安装nvidia驱动 不过这种方法我也没有尝试过。

2. CUDA 安装

cuda官方下载链接

2.1 版本选择

cuda的版本有很多种,在官网上找到上一步安装的驱动所能够支持的版本即可,不要太新的,因为可能会存在bug。在这里我选了11.0 Update 1的版本。具体的安装步骤主要参考官方教程,期间出了一点小问题,不过还是比较容易解决。

至于版本的细节选择主要参看cuda版本选择具体的我也没怎么看,想着错了再说,结果没错。

centos 7 安装swat centos 7 安装显卡驱动_cuda_02

在这里由于下载.run出现了Failed to ssl_handshake: closed的问题,所以选择下载.rpm进行安装。

2.2 按照官方步骤进行安装

在选择好版本后,下面会出现安装步骤。

wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda-repo-rhel7-11-0-local-11.0.3_450.51.06-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-11-0-local-11.0.3_450.51.06-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms cuda
sudo yum -y install cuda-drivers

2.3 遇到的问题及处理

2.3.1 提示缺少dkms

在使用命令yum -y install dkms的时候遇到了无可用包的错误,参看了centos安装dkms

2.3.2 yum提示doesn’t have enough cached data to continue

yun安装问题 这里主要参考这篇博客进行解决。

2.4 环境变量配置

打开~文件夹下的.bashrc文件,在末尾添加:

export  PATH=/usr/local/cuda-11.0/bin:$PATH
export  LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH

然后source .bashrc使环境变量生效。

最后nvcc -V检查是否成功。

centos 7 安装swat centos 7 安装显卡驱动_cuda_03