前言:由于ubuntu18.04没有对应的cuda9.0所以我们选择ubuntu16.04的cuda9.0进行安装。且遇到需要降级GCC与G++的自行降级,下面步骤默认安装有驱动(可以nvidia-smi
查看下是否装有)。
1 cuda9.0
进入下载界面:link选择自己需要的cuda版本,这里我们选择cuda9.0
点击下载。cd到下载目录,终端sudo sh cuda_9.0.176_384.81_linux.run
接着直接按q跳过许可条例
Do you accept the previously read EULA? accept/decline/quit: accept
You are attempting to install on an unsupported configuration. Do you wish to continue? (y)es/(n)o [ default is no ]: y
如果有nvidia的驱动就选择n
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?(y)es/(n)o/(q)uit: nInstall the CUDA 9.0 Toolkit? (y)es/(n)o/(q)uit: y
Enter Toolkit Location [ default is /usr/local/cuda-9.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit:y
Install the CUDA 9.0 Samples? (y)es/(n)o/(q)uit: y
等待安装完成即可。
打开。bashrc文件sudo gedit ~/.bashrc
加入路径信息(对应自己的版本):
export LD_LIBRARY_PATH=$LDLIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
2 下载对应版本的cudnn
下载链接:link.
选择cuDNN Library for Linux下载。
下载好后解压出来,然后复制替换、usr/local/cuda文件夹下的相应的文件:
cp cuda/lib64/* /usr/local/cuda-9.0/lib64/
cp cuda/include/* /usr/local/cuda-9.0/include/
然后查看cuda信息:nvcc -V
安装完成!
3 卸载cuda
如果想要卸载的话执行下面的命令。
执行usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl文件即可。
终端命令:sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
如果发现usr/local/文件夹下还有cuda9.0的文件夹的话直接删除该文件夹就行:sudo rm -rf /usr/local/cuda-9.0/
4 多版本cuda 并存与切换
有时候我们需要在不同环境下使用不同的cuda,那我们可以让不同版本的cuda共存
4.1 继续安装cuda10
安装步骤与上面类似。只需要更改安装命令里的某些部分:
Do you accept the previously read EULA? accept/decline/quit: accept
如果有nvidia的驱动就选择n
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?(y)es/(n)o/(q)uit: nInstall the CUDA 10.0 Toolkit? (y)es/(n)o/(q)uit: y
这里不建立软连接
Enter Toolkit Location [ default is /usr/local/cuda-10.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit:n
不安装样例
Install the CUDA 9.0 Samples? (y)es/(n)o/(q)uit: n
可以看到在usr/local文件夹下已经有了两个版本的cuda。
安装好后更改原来配置好的环境路径:
sudo gedit ~/.bashrc
将原来的内容改为下面的(不指定版本号):
4.2 cuda版本的切换
cuda的调用是靠cuda文件夹进行的。这里需要改变cuda版本的话先删除cuda文件夹:rm -rf /usr/local/cuda
接着重新建立软连接:sudo ln -s /usr/local/cuda-10.2/ /usr/local/cuda
利用:ls -lh /usr/local
可以看到cuda连接到的版本。从而完成了cuda版本的切换
lrwxrwxrwx 1 root root 20 4月 8 09:59 cuda -> /usr/local/cuda-10.0/
这里利用nvcc-V查看的cuda版本没有改变,但是使用是正常的,这里我试过重启shell或者source ~/.bashrc
都没变,这里不太清楚是什么原因,还要继续摸索……(有大佬知道原因的可以评论指导下)