问题描述

在实验室服务器上安装自己的深度学习环境,但是可能服务器上默认的CUDA,与你需要的版本不同,一般地,CUDA安装好会在以下目录查看(包含其他用户安装的各个版本)

解决linux服务器上安装深度学习环境,多CUDA版本问题

这时需要在你自己的目录下修改~/.bashrc文件中的PATH,参考了如下修改方式并未成功

解决linux服务器上安装深度学习环境,多CUDA版本问题

我自己修改的PATH,修改后使用nvcc -V 查看版本还是公用目录默认的9.0

解决linux服务器上安装深度学习环境,多CUDA版本问题

查看$CUDA_HOME,还是9.0版本

解决linux服务器上安装深度学习环境,多CUDA版本问题

分析原因:因为配置公共环境的时候,默认把CUDA9.0的路径加到了PATH里面了,这种修改方式没考虑到原本的PATH路径里面就有一个CUDA9.0的路径,可以查看PATH的值

可以看到这里面已经有一个9.0版本的路径,而且在前面,所以在使用nvcc -V命令或者使用CUDA的时候,首先在9.0的路径里面搜到了,导致后面的9.2就没起作用

解决linux服务器上安装深度学习环境,多CUDA版本问题

这里是因为我执行了多次的source命令,导致9.2的路径在PATH中重复存在了

解决步骤

应该把cuda-9.2的路径添加在PATH的前面,不是加在后面,在.bashrc做如下修改

ORIGINAL_PATH=$PATH
ORIGINAL_CUDA_HOME=$CUDA_HOME
ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.2/bin:$PATH
export CUDA_HOME=/usr/local/cuda-9.2
export LD_LIBRARY_PATH=/usr/local/cuda-9.2b64:$LD_LIBRARY_PATH

最后,再执行一下source ~/.bashrc 或者重新登录,才会生效

解决linux服务器上安装深度学习环境,多CUDA版本问题