非root用户在linux下安装多个版本的CUDA和cuDNN(cuda 8、cuda 10.1 等)

Linux系统多版本CUDA及cuDNN安装指南
本文介绍在Linux系统安装CUDA和cuDNN的方法。先确定显卡驱动、CUDA、cuDNN等的对应关系,再下载CUDA Toolkit和cuDNN,接着进行CUDA安装和cuDNN配置,还需配置用户环境变量。若要安装多个版本CUDA,重复步骤并切换环境变量路径即可。


注:本文中服务器目录结构解释如下:
用户名为zb,
目录 /home/zb/cuda/用于存放不同的cuda版本,每安装一个版本的CUDA就在该目录下新建一个文件夹,如cuda-8.0,并安装在相应的目录下,
安装包下载到 /home/zb/cuda/ 目录下,安装完成后就删除安装包,
目录 /home/zb/cuda/tem/ 目录用于cuDNN的解压,安装完成后就删除该目录。

本文已测试通过的有 :cuda 8.0 、cuda 9.0 、 cuda 9.2 、 cuda 10.1

确定安装的软件版本

安装前需先确定显卡驱动、CUDA、cuDNN等之间的对应关系。由于我的帐户没有管理员权限,不能安装显卡驱动,只能根据现有驱动的版本来选择CUDA版本,输入指令cat /proc/driver/nvidia/version 查看当前服务器版本号:
在这里插入图片描述

不同版本cuda对应的NVIDIA驱动版本1:

在这里插入图片描述

我的Linux服务器显卡驱动版本是384.130,大致能安装CUDA 7.0~CUDA 9.0,这里以CUDA 8.0为例进行安装。

cuda8.0与Linux系统以及GCC的对应关系1:
在这里插入图片描述

附:tensorflow与CUDA等之间的对应关系:
在这里插入图片描述

下载CUDA Toolkit

cuda的下载地址: https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
这里我选择的是CUDA 8.0,其他参数选择如下图所示:
在这里插入图片描述
注意Installer Type这里选择runfile (local)。
然后在Download按钮上右键选择复制下载链接:
在这里插入图片描述
使用指令wget -c wget -c XXX 将安装包下载到服务器上,XXX用刚才复制的链接替换:
在这里插入图片描述

下载cuDNN

cuDNN的下载: https://developer.nvidia.com/rdp/cudnn-archive
随便选择一个与CUDA 8.0对应的版本,这里以cuDNN v7.1.3为例:

在这里插入图片描述
选择以.tgz为后缀的Linux包,这里选择第一个:
在这里插入图片描述
同样,将包下载到服务器备用。
注:由于下载cuDNN需要登录帐户,直接在终端用指令下载可能会失败,可以先在windows上注册个帐户下载好再上传到服务器(使用MobaXterm等软件连接服务器后可以很方便地把windows上的文件通过拖动的方式上传到服务器上)。

安装CUDA

在安装包所在目录下输入指令sh XXX进行安装,XXX为CUDA安装包文件名,如:sh cuda_8.0.61_375.26_linux-run2

sh cuda_8.0.61_375.26_linux.run #开始安装
#..一堆协议说明...
#直接按q退出协议说明.
zerozone@zerozone: accept/decline/quit: accept  #接受协议

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? 
y)es/(n)o/(q)uit: n  #是否显卡驱动包,由于已经安装显卡驱动,选择n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: #工具包安装地址,
这里我输入自己的安装地址:/home/zb/cuda/cuda-8.0/

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n #添加链接**这里选择n

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例,选择y

Enter CUDA Samples Location
 [ default is /root ]:  #样例安装地址,
 这里我输入自己的安装地址:/home/zb/cuda/cuda-8.0/samples/

cuda 10.1:
在这里插入图片描述
按空格根据需要选择要安装的模块,有“X”的表示安装,没有的表示不安装,我这里已经安装过418.116的显卡驱动了,所以选择不安装驱动:
在这里插入图片描述
按上下键移动到CUDA Toolkit 10.1上,然后按“A”键,出现:
在这里插入图片描述
全部不安装并更改Toolkit Install Path:
在这里插入图片描述
再返回主界面然后选择Options->Library install path:
在这里插入图片描述
在这里插入图片描述
然后确定,返回选择Install

注:若出现 Error: unsupported compiler: X.X.X,一般是gcc版本和CUDA没对应,可尝试指令sh cuda_8.0.61_375.26_linux-run --override,如果没解决,则需要安装相对应的gcc。

配置cuDNN

使用指令tar -xzvf /home/zb/cuda/cudnn-8.0-linux-x64-v7.1.tgz -C /home/zb/cuda/tem/ 将cuDNN解压到tem文件夹并执行以下指令3

cp /home/zb/cuda/tem/cuda/include/cudnn.h  /home/zb/cuda/cuda-8.0/include/  
cp /home/zb/cuda/tem/cuda/lib64/libcudnn*  /home/zb/cuda/cuda-8.0/lib64
chmod a+r /home/zb/cuda/cuda-8.0/include/cudnn.h  /home/zb/cuda/cuda-8.0/lib64/libcudnn*

配置用户环境变量

修改个人用户目录下的.bashrc文件(用vi ~/.bashrc编辑),在文件最后面加入以下指令并保存4

export PATH=/home/zb/cuda/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/zb/cuda/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

tips:vim编辑器使用指南:

vi XXX  //打开并编辑文件
按i进入编辑模式
编辑好文本后按Esc,退出插入状态。
保存退出:输入冒号,输入WQ(write,quit)或X(x==wq)回车,或者按了ESC后,直接按shift+zz,或者切换到大写模式按ZZ
文本没改动退出:Esc+冒号+q
不保存退出:Esc+冒号+q!

最后输入指令source .bashrc 使新配置的环境变量生效

安装多个版本的CUDA

如果要安装多个共存的CUDA版本则重复上面的步骤,挑选相对应且系统支持的CUDA、cuDNN进行类似的安装,切换环境时直接在.bashrc文件里更改之前配置环境时加入的路径代码即可。如将CUDA 8.0切换成CUDA 9.0则将.bashrc中的

export PATH=/home/zb/cuda/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/zb/cuda/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

改为

export PATH=/home/zb/cuda/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/zb/cuda/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

并执行指令指令source .bashrc 即可,

输入nvcc -V :查看是否安装成功。
输入which nvcc :查看nvcc位置

参考链接:


  1. https://blog.youkuaiyun.com/dudu815110/article/details/87167518 ↩︎ ↩︎

  2. https://blog.youkuaiyun.com/yanxiaohui1992/article/details/82730106 ↩︎

  3. https://blog.youkuaiyun.com/ksws0292756/article/details/80120561 ↩︎

  4. https://blog.youkuaiyun.com/qq_34638161/article/details/80845366 ↩︎

<think>嗯,用户想在Linux系统中以root用户身份升级CUDA。首先,我需要回忆一下之前了解的关于root用户安装CUDA的方法。根据引用[2][5],root用户可以通过下载runfile安装包并指定安装目录到自己的家目录下。这样不需要sudo权限。步骤可能包括检查系统兼容性,下载对应的CUDA版本,然后运行安装命令,记得加上--toolkit--librarypath等参数到用户目录。 然后,用户可能需要设置环境变量,比如PATHLD_LIBRARY_PATH,指向新安装CUDA路径,如引用[5]提到的,在.bashrc中添加导出语句。这样每次登录时环境变量会自动加载。 另外,需要注意系统原有的CUDA版本可能存在于全局路径,所以用户需要确保自己的环境变量优先使用本地安装版本。可能还需要处理依赖项,比如驱动版本是否兼容,但root用户可能无法更新内核头文件,如引用[4]提到的需要安装kernel-develkernel-headers,但如果没有root权限,这部分可能会有问题,可能需要联系管理员或者使用已有的兼容版本。 还要提醒用户验证安装后的CUDA是否正常工作,比如用nvcc --version或者编译示例程序。可能遇到的问题包括权限错误、路径设置错误,或者驱动不匹配。这时候需要检查日志,确保所有步骤正确,特别是安装时的选项是否正确指定了用户目录。 最后,生成相关问题的时候,需要考虑用户可能遇到的后续问题,比如如何切换版本、环境变量冲突、编译问题等,以及如何回退到旧版本,如引用[5]提到的修改环境变量即可切换。这些都可以作为相关问题来帮助用户进一步操作。</think>### 分步解答:root用户安装/升级CUDA #### 1. **验证系统兼容性** - 查看系统支持的CUDA版本: ```bash lsb_release -a # 查看Ubuntu/CentOS版本[^1] uname -m # 确认系统架构(x86_64或ARM) ``` 根据系统版本在[NVIDIA CUDA Toolkit Archive](https://developer.nvidia.com/cuda-toolkit-archive)选择兼容的CUDA版本[^3]。 #### 2. **下载runfile安装包** - 使用`wget`下载对应版本的runfile(需替换版本号): ```bash wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run ``` 例如CUDA 11.8的下载命令如上。 #### 3. **执行本地安装** - 赋予执行权限并安装用户目录: ```bash chmod +x cuda_*.run ./cuda_*.run --toolkit --silent --toolkitpath=$HOME/cuda-11.8 --librarypath=$HOME/cuda-11.8 ``` 关键参数说明: - `--toolkitpath`:指定CUDA Toolkit安装路径(如`$HOME/cuda-11.8`) - `--librarypath`:库文件路径(toolkit路径一致) - 忽略驱动安装root用户无法更新驱动)[^2][^5] #### 4. **配置环境变量** - 在用户配置文件(如`~/.bashrc`)中添加: ```bash export PATH="$HOME/cuda-11.8/bin:$PATH" export LD_LIBRARY_PATH="$HOME/cuda-11.8/lib64:$LD_LIBRARY_PATH" ``` 保存后执行: ```bash source ~/.bashrc ``` #### 5. **验证安装** - 检查CUDA版本: ```bash nvcc --version # 查看编译器版本 nvidia-smi # 确认驱动支持的CUDA版本(可能需要管理员安装驱动) ``` - 编译测试程序: ```bash cd ~/cuda-11.8/samples/1_Utilities/deviceQuery make ./deviceQuery ``` #### 6. **切换多版本(可选)** - 若需回退到旧版本(如10.1),修改环境变量路径即可: ```bash export PATH="/home/user/cuda-10.1/bin:$PATH" # 替换为实际路径[^5] export LD_LIBRARY_PATH="/home/user/cuda-10.1/lib64:$LD_LIBRARY_PATH" ``` ### 注意事项 - **驱动兼容性**:CUDA Toolkit版本NVIDIA驱动版本匹配,root用户无法升级驱动,需联系管理员[^4]。 - **依赖项处理**:若提示缺少`libcudnn`等库,需手动下载并解压到`$HOME/cuda-xx/lib64`目录。 - **日志排查**:安装失败时可检查`/var/log/cuda-installer.log`(需权限)或终端输出。
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值