0. 问题引入

随着深度学习的发展,越来越多的人都加入这个行业中来,然而计算资源有限,很多时候我们很多人都在共用一个服务器,而且多半是没有管理员权限的。那么怎么能够安装自己的运行环境呢?有两个部分需要注意的,一个是底层的驱动+cuda,令一个是上层的conda环境。

对于conda的环境的安装,已经非常容易了,如果你只需要一个虚拟环境,那么你可以看一下:《conda的安装与使用》,但是更难的,是安装自己的CUDA,因为有些python的包需要特定的版本,比如LTP需要pytorch1.6以上,而pytorch1.6以上则需要CUDA9.2以上的版本。因此,如果我们所需要的特定版本的Pytorch或者tensorflow需要特定的CUDA时,我们就需要自己构建CUDA环境了。

本文将在Linux(Red Hat)系统下,介绍显卡驱动为450的版本和CUDA11.0的系统环境中,在用户级别安装CUDA 10.2的整体流程,包括安装的先决条件,下载cuda,安装的具体过程,安装完成后的详细配置,以及检查cuda是否安装成功等部分。

1.先决条件

本教程的适用范围:
1.用户自己不是管理员身份,并且有其他用户在,怕环境之间相互影响。
2. 系统本身显卡驱动足够新,即版本足够高。下面是CUDA所需要的的驱动版本条件。
在这里插入图片描述
可以看到,像CUDA10.2以上的版本,需要440.33以上的显卡驱动。例如,如果你通过nvidia-smi命令获得的显卡驱动号大于440.33,你可以将CUDA从11降到10.2是完全没有问题的。而如果你的显卡驱动号是396.26,那么你只能在CUDA7/8/9上进行切换。

因此,系统的驱动尽可能的要高,因为其依赖关系为:
操作系统版本最优先
显卡驱动次之
CUDA再次之+Cudnn
最后是python库,如pytorch版本

2. 查看系统内核,选择需要的CUDA版本

通过命令cat /proc/version查看当前操作系统版本信息,这里可以看到是Red Hat 4.8.5版本,内核为3.10.0-693
在这里插入图片描述
Red hat版本对应的发布号可以通过https://access.redhat.com/articles/3078链接查询,下面给出一些比较新的表格。
在这里插入图片描述

3. 去官网下载CUDA

官网地址为:https://developer.nvidia.com/cuda-downloads
这里选择我们需要的版本,默认下载为最新的CUDA11,选择之前的CUDA版本需要点击粉红色框内的链接。
在这里插入图片描述
下面是之前所有的版本链接下载,我们下载的是CUDA10.2:
在这里插入图片描述

4. 下载CUDA移动到服务器中

由于目前已经不提供直接下载的按钮了,因此我们复制地址到浏览器的地址栏手动下载。
在这里插入图片描述
将下载好的文件执行以下操作:

  1. 先将安装包复制到服务器上,能找得到的地方。
  2. 然后进入到该目录下,使用chmod 755 cuda_10.2.89_440.33.01_linux.run更改文件的执行权限。
  3. 由于我们不是管理员用户,因此无法使用sudo安装,因此直接执行以下命令即可 sh cuda_10.2.89_440.33.01_linux.run

5. 安装过程中的选择

现在的安装过程又发生了变化,因此之前网上的教程都不行,这里从头开始讲起。
在这里插入图片描述

首先,输入accept表示接受协议。然后只选择安装CUDA Toolkit,显卡驱动(第一项)由于我们不是管理员无法安装,其他的如样例,demo和说明文档则不需要安装。
然后进入Options中,设置安装目录。这一个操作很关键。
在这里插入图片描述
***选择Change Toolkit Install Path回车后输入自定义的目录(要记住这个目录)
例如:/home/[用户名]/usr/local/cuda-10.2 (文件夹需要提前手动建立)
完成后,其他不选择,由于我们没有管理员权限。

不要着急安装,还需要回到Options菜单, ***更改Library install path,这里随便输入一个目录,如:
/home/[用户名]/usr/local/cuda-10.2/mylib (这个文件夹也建议提前手动建立)
回车Done,然后返回主界面,选择Install

[这两个部分很重要,建议多检查几次]

6. 安装完成后的环境配置

当你看到界面里有successfully的字眼时,就表明安装成功了。这时候,还需要进行环境配置。
首先进入到用户主目录里cd /home/[用户名]
执行vim .bashrc修改命令相关参数
在最下方添加刚刚安装cuda的路径:
export PATH="/home/[用户名]/usr/local/cuda-10.2/bin:$PATH"
export LD_LIBRARY_PATH="/home/[用户名]/usr/local/cuda-10.2/lib64:/home/[用户名]/usr/local/cuda-10.2/mylib/lib64:$LD_LIBRARY_PATH"
保存之后,执行以下命令,使配置生效: source .bashrc

7. 检查CUDA和pytorch能否使用.

命令行输入 nvcc -V 查看cuda版本,如果符合预期,则安装成功。
然后检测Pytorch是否能够使用,安装我们需要的特定的版本的Pytorch。然后执行pytorch.cuda.is_avaliable(),如果返回True,则表示安装成功。

8. 小结

本文已经尽可能的通过实战操作,完成了一次用户级的CUDA自定义版本安装,跟随这个版本安装也有可能出现失败的情况,这时候,应该考虑的是与教程上不符合的地方。比如,如果出现安装完成后,CUDA符合预期,但是Pytorch不能使用。一方面可能由于显卡驱动版本太低,而新安装的CUDA版本较高。另一方面也有可能Pytorch没有重新安装对应的GPU版本等等。因此,需要具体问题具体分析。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐