Ubuntu 20.04/18.04 配置cuda和cudnn的一种方法
问题描述
在编译cuda代码时,出现:
compile_res == NVRTC_SUCCESS (5 vs. 0) : nvrtc: error: invalid value for --gpu-architecture (-arch)
这时,表明cuda的版本和自己的显卡对不上号。我这里是A100的卡,搭配了cuda10导致的,其实A100的话,至少要cuda11了。具体的显卡型号可以在这篇文章中查找看看:NVIDIA GPU的架构代号。
解决cuda问题
需要升级cuda11,但是我用的是docker,所以非常直接,直接换个cuda11的docker,升什么级。。。给放一个cuda、driver和cudnn的链接:看这个。 但是我的做法是换个docker:
docker pull nvidia/cuda:11.0.3-cudnn8-devel-ubuntu18.04
因为我其实是在操作tvm,所以直接换个tvm的docker
docker pull tlcpack/ci-gpu:v0.81
解决cudnn问题
其实cudnn和cuda也是一一对应的,不清楚是不是向后兼容的,但没必要照这个麻烦,直接下载对应版本的。在Linux上面有一个统一的压缩文件。
- 用cudnn download
- 按照下面方法点击:
- 再找这个:
- 然后在你的Linux里面:
tar -xvf cudnn-11.2-linux-x64-v8.1.0.77.tgz
cp cuda/include/cudnn.h /usr/local/cuda-10.1/include
cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64
chmod a+r /usr/local/cuda-10.1/include/cudnn.h
chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*
这时就基本能用了。
|