python系列&deep_study系列:非root用户安装cuda与cudnn
非root用户安装cuda与cudnn
- 非root用户安装cuda与cudnn
- 一、前期准备工作
- 二、 开始安装CUDA和cuDNN
- 2.1 安装CUDA
- 1. 给cuda可执行权限
- 2. 运行run文件
- 3. 通过键盘方向键(↑,↓)和Enter键可以进行选择和进入(确定)。选择Continue并进入
- 4. 输入accept进入
- 5. 利用上下键与Enter勾选对话框,只安装CUDA Toolkit。
- 6. 选择Options并进入,然后我们需要修改Toolkit Options 、Library install path这两项的路径。
- 7. 修改Toolkit Options路径,选择Change Toolkit Install Path
- 8. 将默认路径修改至个人目录下,点击Enter确认
- 9. 将下面的选项取消选定,选择Done,确认退出
- 10. 选择Library install path (Blank for system default)
- 11. 添加之前一样的路径并Enter确认退出
- 12. 选择Done返回上一层目录,修改路径完成,选择Install开始安装
- 13. 出现如下所示的安装信息则说明安装成功
- 2.2 修改环境变量
- 2.3 安装 cuDNN
- 2.4 查看是否安装成功,输入nvcc -V,如果你也安装成功了,请各位大侠帮忙点赞收藏吧
- 参考
- 底下评论
非root用户安装cuda与cudnn
很多小伙伴都和我抱怨(其实我自己也是)服务器上管理员已安装好显卡驱动或已安装的CUDA版本
无法满足自己要求(要么太高要么太低),与自己需要的TensorFlow
或者Pytorch版本
不兼容,急的头皮发麻!!!今天熬夜写博客带大家一起来安装属于自己的CUDA
与cuDNN
!
一、前期准备工作
1.1 输入nvidia-smi查看自己的显卡驱动版本以及支持的最大CUDA版本:
确认不是自己需要的版本。
然后进入英伟达提供的GPU驱动和CUDA对应关系,
确认自己目前的GPU驱动是否符合自己要安装的CUDA版本,符合就进入下一步,不符合就安装更加高级的驱动。
1.2 输入uname -a与cat /proc/version查看系统的信息,方便匹配对应的CUDA:
可以看到我们的系统是Linux,Ubuntu的内核,64位(x86_64)的系统。
Ubuntu版本号为18.04。
1.3 安装包下载:
1.3.1 下载CUDA:
进入英伟达CUDA下载页面,
点击Download Now,可以看到。目前最新的版本是11.0,
我们以下载10.2为例,点击右下角的Legacy Releases,寻找10.2版本,
进入10.2下载页面之后,依据之前的系统信息,选择合适系统的CUDA,
点击runfile(local),弹出下载命令:
此时你可以选择在服务器上输入
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
在服务器上进行下载,也可以选择在浏览器中输入wget后面的网址,然后在本地进行下载再上传至服务器。
1.3.2 cuDNN下载
通过网址下载CUDNN,这个下载需要注册账号(简单几步注册登录即可),登录以后,如下图选择合适的CUDA版本对应的CUDNN并选择CUDNN Library for Linux,开始下载,下载好以后将文件后缀名改为.tgz后上传至服务器。
二、 开始安装CUDA和cuDNN
现在在我们的服务器中已经有了CUDA
和cuDNN
的安装包了
2.1 安装CUDA
1. 给cuda可执行权限
chmod +x cuda_10.2.89_440.33.01_linux.run
2. 运行run文件
sh cuda_10.2.89_440.33.01_linux.run
3. 通过键盘方向键(↑,↓)和Enter键可以进行选择和进入(确定)。选择Continue并进入
4. 输入accept进入
5. 利用上下键与Enter勾选对话框,只安装CUDA Toolkit。
6. 选择Options并进入,然后我们需要修改Toolkit Options 、Library install path这两项的路径。
7. 修改Toolkit Options路径,选择Change Toolkit Install Path
8. 将默认路径修改至个人目录下,点击Enter确认
9. 将下面的选项取消选定,选择Done,确认退出
10. 选择Library install path (Blank for system default)
11. 添加之前一样的路径并Enter确认退出
12. 选择Done返回上一层目录,修改路径完成,选择Install开始安装
13. 出现如下所示的安装信息则说明安装成功
2.2 修改环境变量
1. 输入vim ~/.bashrc
进行环境变量的修改;
2. 添加一下信息(每个人的路径是不同的,我的是/home/zhaoqc/cuda-10.2
)并保存退出。
export CUDA_HOME=$CUDA_HOME:/home/zhaoqc/cuda-10.2
export PATH=$PATH:/home/zhaoqc/cuda-10.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zhaoqc/cuda-10.2/lib64
3. 输入source ~/.bashrc
2.3 安装 cuDNN
1. 解压cuDNN,输入以下命令进行解压
tar -zxvf cudnn-10.2-linux-x64-v8.0.0.39.tgz
2. 此时当前目录下回出现一个./cuda的文件夹
3. 复制文件到CUDA安装目录
cp cuda/include/cudnn.h ../cuda-10.2/include/
cp cuda/lib64/libcudnn* ../cuda-10.2/lib64/
4. 修改权限,cudnn安装完成
chmod a+r ../cuda-10.2/include/cudnn.h ../cuda-10.2/lib64/libcudnn*
2.4 查看是否安装成功,输入nvcc -V,如果你也安装成功了,请各位大侠帮忙点赞收藏吧
参考
非root用户安装cuda、cudnn(for tensorflow==2.1.0,CUDA 10.1,cuDNN 7.6.5)
无root Linux安装CUDA 10.2 及 cudnn
底下评论
问题一:
不对,博主的cudnn
的拷贝操作还是有问题,cudnn*.h
,也就是全拷过去,cudnn
官方手册里是这样拷贝的:
$ cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
$ cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
$ chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
问题二:
中间的路径修改:
export PATH="/public/home/jd_lulin/cuda-10.1/bin:$PATH"
,然后就生效了
回答一:
多解释一句:如果按原文中修改环境变量的话,后续输入nvcc -V
会发现还是服务器原cuda版本
,按层主的这个改的话,就会是新安装的cuda版本
了
提问一:
您好 我还是有一点疑问 就是如果自己原先的目录就是/home/yx/cuda
这样的还需要改吗?(在前面加public
?)
问题三:
不知道为什么,export CUDA_HOME=$CUDA_HOME:/home/zhaoqc/cuda-10.2
这句话会引起我的报错,说是找不到这个路径(已经修改成了我自己的path
)
我修改成export CUDA_HOME=/home/zhaoqc/cuda-10.2
就好了
提问一:
你 CUDA_HOME
怎麽會同時出現在賦值的兩端?
问题者回复一:
我也不懂啊,我看本文的原作者这么写的
提问二:
今天用pip
安装一个torch-cluster包
的时候也踩到这个坑了,在安装的时候会调用 $CUDA_HOME/nvcc
去调用 nvcc 命令
。如果按照文章里的写法, $CUDA_HOME/nvcc = "/usr/local/cuda:/home/zhaoqc/cuda-10.2/nvcc
" 就出错了
回复二:
这是用原有的路径,然后吧现在的路径添加进去,得看$CUDA_HOME
是不是原来就有
问题四:
您好,2.3.3
中的第一条命令,应该加个*
,不然会少复制几个文件,在某些深度学习框架下会导致用不了cuDNN
的错误(刚踩完坑)。新命令应该写成:
cp cuda/include/cudnn*.h ../cuda-10.2/include/
文章作者提问一:
在什么框架下会出错
提问者回复一:
Dlib
文章作者提问二:
难怪,我只用pytorch
和TF
就没有错误
问题五:
博主的安装确实没毛病,官方CUDNN
安装也是这样:
NVIDIA Deep Learning cuDNN Documentation
不过下载的 .tar.xz文件
可以直接解压或者 先xz
,再tar
解压2次,不要随便改文件扩展名比较好。参考:Ubuntu 下解压tar.xz方法
提问一:
官方里就不需要sudo权限
吗?
问题六:
更新驱动得root~
,裂开
问题七:
步骤1:下载developer.nvidia.com/cu
步骤2:安装docs.nvidia.com/cuda/cu
问题八:
不应该用"cat /proc/version
"查看ubuntu版本号
吧?这个命令查看得到的是"编译内核的GCC编译器的版本信息
"。要查看的话应该要用"lsb_release -a
"?
问题九:
安装后的cuda-10.2文件夹
没有include
和lib64文件夹
[大哭],只有同名文件,不知道出了什么问题,如何解决
问题十:
请问,非root
的服务器用户nvidia-smi命令
提示:fail to initialize NVML:insufficient permission
。该怎么解决[大哭][大哭][大哭]
问题十一:
可是我按照步骤弄了一遍,结果nvcc --version
还是以前的版本啊 这咋回事 呜
提问一:
再执行一遍 source ~/.bashrc
就可以了
提问二:
原贴有误,要改 export PATH=/home/gjz/cuda-12.1/bin:$PATH
问题十二:
我的Library install path
处不能选择路径,只有一个Driver Options
。[发呆]
问题十三:
博主,安装的时候,路径只显示root path install
这个有遇到过吗
提问一:
没遇到过
问题十四:
您好,我安装CUDA
时报错cuda_9.0.176_384.81_linux.run: 1: eval: ./cuda-installer.pl: not found
,请问这个怎么解决呢?
提问者回复一:
就是刚下载完run文件
,运行的时候就会报错
问题十五:
没有建立软连接么 后面加载不了gpu版本
问题十六:
这种安装会使得自己安装的tensorflow
会自动寻找自己安装的cuda
和dcunn
嘛
文章作者回复一:
如果你的机器装了多个cuda
,需要修改配置文件来告诉系统应该调用哪个版本的环境,TensorFlow
只会执行配置文件中指定的cuda
。
提问二:
添加了环境变量还需要修改吗,我要怎么修改他
问题十七:
sh cuda_10.2.89_440.33.01_linux.run
之后出现了Log file not open. Segmentation fault (core dumped)
是为什么呀,该怎么解决这个问题呢
提问一:
这是因为这台机器上已经有别人安装过CUDA
并且没有删除/tmp
下的log文件
,而这个文件和你需要使用的log文件
同名,文件所有者是别人,你不能写入,因而报错。在此必须吐槽一下不能自己命名log file
是真的僵硬。
问题十八:
提问者一:
为啥不直接用conda
装呢?我用conda
装起来很方便的。
其他人回复一:
conda
装的话没有CUDA_HOME变量
吧?我也用过conda
装,但是现在需要用CUDA_HOME
来编译一段代码没法弄
问题十九:
收入:sh cuda_10.1.243_418.87.00_linux.run
,然后下面根本没提示输入:accept
呀?就是一直下滑,不知道要干啥?
其他人回复一:
不用下滑,直接输入accept
加回车