多版本cuda运行与编译环境
基本环境:
- nvidi-smi后cuda版本为11.0
- 预装了两个版本的cuda分别为cuda-10.0和cuda-11.0
- 代码运行环境要求cuda-10.0
使用conda当前虚拟环境的cudatoolkit版本为10.0,代码运行一直报错,报错信息如下
cublas runtime error : the GPU program failed to execute at /opt/conda/condabld/pytorch_1544202130060/work/aten/src/THC/THCBlas.cu:416
资料查询后,感觉是cuda版本的问题,就安装了cuda-10.0并进行了切换。
代码运行出错,有两个版本的问题需要注意,一个是编译时使用的cuda版本,还有一个是运行时使用的cuda版本。
之前一直以为nvidi-smi命令之后显示的cuda版本是运行时的cuda版本,其实不是的。真正运行时的版本还是torch代码在运行时去查找的。查找本地的CUDA_HOME。
具体操作过程如下:
- 安装了需要版本的cuda
- cuda切换,更换软连接的方式,不是很优雅,先这么地吧
rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-10.0/ /usr/local/cuda/