安装cuda 非root_【Linux】如何不借助 root 权限安装 CUDA?

本文介绍了如何在没有root权限的情况下在Linux系统中安装CUDA 10.2。通过选择不安装驱动,修改安装路径到个人home目录,并调整环境变量,可以完成安装。此外,还提供了安装cuDNN的步骤,包括解压缩文件并将其复制到CUDA安装目录的相应位置。
摘要由CSDN通过智能技术生成

我们能不能做到不借助 root 权限给 Linux 系统安装 CUDA?

答案是有可能的,但是“丑话说在前面”,显卡驱动需要比较新才行。

那么我们为什么会有这种奇怪的需求呢?一种可能的情况是,服务器因为不同的人使用的版本不一样的原因,无法轻易改动 CUDA 的版本。但是我们作为普通用户,又想使用新版的 CUDA(而更新驱动一般不会对其他用户产生影响,除非他们正在占用显卡)。那么该怎么做呢?

安装 CUDA

拿目前最新的版本 CUDA 10.2 为例。首先,我们在 NVIDIA 官网找到 CUDA 下载链接,选择 runfile:

下载好的文件我们简称为 cuda.run。下载完毕之后,运行安装工具。运行这个文件有两种方法。任选其一即可。

# 方法一:修改文件属性,使其可以运行

chmod +x cuda.run

./cuda.run

# 方法二:直接 sh

sh cuda.run

运行安装工具后,首先是接受 EULA:

如果是旧版本(比如 9.x)的 CUDA,阅读 EULA 的界面会特别长。这里的一个小技巧是,不要按住回车键,而是按住空格键来进行跳过。

这里我们不要安装驱动(Driver),因为驱动一定需要 root 才能够安装。一旦选择,必定会安装失败。我们可以移动光标到这些不需要的项目,然后按下Enter取消勾选:

除了 Toolkit 以外,下面的几个其实也不需要。可以根据情况选择安装(比如可以安装 Samples,后续测试 CUDA 以及 cuDNN 是否安装成功)。这里我选择的是仅安装 Toolkit。

接下来我们的任务,就是修改安装路径到自己的 home 下。默认情况下,

CUDA 会被安装在:/usr/local/cuda-10.2/

Library 会被安装在:/usr/local/cuda-10.2/lib64/

所以我们要对这两个进行修改。打开 Options。如果不安装 Driver 和 Samples,那么这两个不用管。否则也需要修改他们的安装位置。打开 Toolkit Options,然后 Change Toolkit Install Path,修改为/home//cuda-10.2/:

然后 Done,返回上一级,再选择 Library install path:

并将安装目录修改为:/home//cuda-10.2/lib64/。如果是 9.x 版本的 CUDA,一旦在前面安装了 CUDA 本体的安装位置,那么 library 的位置会自动变成本体安装目录下的 lib64。

然后就可以开始安装了。

安装完毕之后,需要配置一下 .bashrc,在其下方添加:

export PATH=/home//cuda-10.2/bin:$PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home//cuda-10.2/lib64/

保存后运行一下 source .bashrc,就可以用 nvcc -V 试试有没有安装成功了。

安装 cuDNN

下载完 .tar.gz 之后,可以用 tar -zxvf 解压缩,然后将里面的文件拷贝到 CUDA 安装目录下的指定位置即可。具体为:

cp /cuda/include/cudnn.h /include/

cp /cuda/lib64/libcudnn* /lib64

chmod a+r /include/cudnn.h /lib64/libcudnn*

到此,CUDA 10.2 与 cuDNN 安装完毕。

但是,有比较大的可能会因为你安装的 CUDA 版本太新,而服务器上的显卡驱动又太旧了(比如是 CUDA 9.0 安装包自带的驱动),那么仍旧是没有办法正常使用的(比如使用 GPU 版的 PyTorch)。想要真正能用,还是要说服管理员将服务器的驱动进行更新。但是可以放心的是,更新了驱动之后,旧版本的 CUDA 依旧是可以用的。

要在没有root权限的情况下安装CUDA,可以按照以下步骤进行操作: 1. 下载CUDA安装文件,并修改.run文件的权限为可执行: ```shell chmod +x cuda_11.0.2_450.51.05_linux.run ``` 2. 执行安装文件: ```shell ./cuda_11.0.2_450.51.05_linux.run ``` 3. 如果出现 "Log file not open. Segmentation fault (core dumped)" 错误,请删除/tmp/cuda_installer.log文件。如果没有权限删除该文件,请联系root管理员或者文件的所有者。 4. 在安装选项中,选择"Continue"继续安装,并输入"accept"接受协议。 5. 在 "Toolkit Options" 中修改安装路径,将路径修改到个人用户目录下而不是root目录。例如,默认路径为:/usr/local/cuda-xx.x/,可以将路径修改为:/home/user/cuda-xx.x/。需要使用mkdir命令创建新的路径。 6. 在 "Library install path (Blank for system default)" 中修改路径,将路径修改为:/home/user/cuda-xx.x/mylib/。同样需要使用mkdir命令创建新的路径。 7. 最后返回初始界面,点击"install"开始安装。 8. 安装完成后,根据安装总结中的信息,将以下两条路径添加到系统环境变量中,可以编辑~/.bashrc文件并添加以下内容: ```shell export PATH="/home/user/CUDA_xx.x/bin:$PATH" export LD_LIBRARY_PATH="/home/user/CUDA_xx.x/lib64:$LD_LIBRARY_PATH" ``` 然后运行以下命令重启环境变量,以使更改生效: ```shell source ~/.bashrc ``` 9. 最后,测试CUDA是否成功安装,运行以下命令检查CUDA版本: ```shell nvcc -V ``` 如果输出显示CUDA版本信息,则表示安装成功。 参考文献:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值