问题
很多人的 CUDA 直接装在了 base 环境中,在需要新的版本时,直接安装新的又会”覆盖“掉原来的版本,造成原来那个版本的 CUDA 不可用,别问我怎么知道的。。。
曾一度怀疑不能同时装多个版本,但经过查阅,发现 Ubuntu 上多版本CUDA是可以共存的,只是需要在使用时动态切换。
解决方案
【思路】在你安装CUDA后,会出现如下文件:/usr/local/cuda-9.0
和 /usr/local/cuda
, 前者是你安装的该版本CUDA的具体内容,而后者是指向该具体版本的软链接,我们只需要修改这个软链接的指向便可以实现不同CUDA版本之间的切换。
【操作流程】
-
删除原来的软链接,需要在
/usr/local
目录下:sudo rm -rf /usr/local/cuda
-
创建新的软链接,cuda-9.0 换成你需要的版本(已安装):
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
-
验证操作,查看新的软链接的指向内容:
sudo stat /usr/local/cuda
后记
多个CUDA共存问题,其根源在于多个CUDA都安装在了同一个环境中(默认为base),若在安装的时候直接指定不同的安装目录,则不会出现这种问题。
另,Anaconda 对于环境的控制是真的舒服,Anaconda + Pycharm 满足你的各种姿势,强烈安利!