无root权限在A4000服务器上配置cuda和pytorch
1.配置cuda和cudnn
在官网找到cuda需要安装的版本,这里安装的是cuda11.1(CUDA Toolkit 11.1.0 | NVIDIA Developer)
复制第一行命令,下载cuda到服务器
安装cuda
输入以下指令
chmod +x cuda_11.1.0_455.23.05_linux.run # 给可执行权限
./cuda_11.1.0_455.23.05_linux.run # 执行安装
进入安装界面
-
在协议界面输入accept
-
只选中 toolkit 即可,如下图,然后进入 options
-
选择 toolkit options,把 X 都去掉,然后进入 change path 改一下路径。如果不改,默认是在 /usr/local下,而在服务器里,普通用户没有权限把东西放那里去。我这里就改成了我目录下的cuda-11.1目录(这个 cuda-11.1 目录是自己 创建的),大概是 /xxx/usrname/cuda-11.1 这样。
- 回到 options 界面,选择 library install path。在刚才的 cuda-11.1 目录下又新建了一个 mylib 目录,路径就是 mylib 目录下文件的路径 /xxx/usrname/cuda-11.1/mylib。
- 回到第一个界面,选择 install,开始安装
安装成功,把/tmp/cuda-installer.log删除
- 修改环境变量
安装成功会提醒需要添加路径
export PATH="/xxx/usrname/cuda-11.1/bin:$PATH"
export LD_LIBRARY_PATH="/xxx/usrname/cuda-11.1/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc # 让更改生效
-
验证
终端输入nvcc -V验证
cudnn安装
(1)先从官网下载 https://developer.nvidia.com/cudnn 选择自己cuda版本对应的 cudnn 版本。
(2)解压,默认解压的文件夹名字是 cuda,如果和其他文件夹名字重复或者觉得不好区分,可以重命名一下。
tar xvJf cudnn-linux-x86_64-8.6.0.163_cuda10-archive.tar.xz
(3) 把解压文件夹里的 cudnn.h 复制到 cuda-11.1/include/,并修改权限
cp cuda/include/cudnn.h cuda-11.1/include/
chmod a+r cuda-11.1/include/cudnn.h
(4) 把解压文件夹里的 lib64 文件夹添到环境变量里。如果直接复制给 cuda-11.1文件夹,会造成软链接失效。
export LD_LIBRARY_PATH="/xxx/usrname/cuda/lib64/:$LD_LIBRARY_PATH"
source ~/.bashrc # 让更改生效
(5)查看 cudnn 版本
cat cuda/include/cudnn_version.h
2.pytorch和torchvision安装
不建议使用pip 直接install 可能会报算力不匹配的问题
(我使用pip 直接install清华镜像里的torch和torchvision,会默认下载依赖于cuda10.2的torch版本,而且会报A4000与pytorch算力不匹配的问题以及cuda不匹配问题,非常踩雷wuwu
)
查看与cuda和显卡算力匹配的pytorch版本
在官网找到安装命令,我安装的版本是pytorch1.8.1
Previous PyTorch Versions | PyTorch
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
安装完成后输入测试指令,测试是否可用
参考文章
(41条消息) 解决CUDA error: no kernel image is available for execution on the device_图灵机学长的博客-CSDN博客