ubuntu18.04 安装多版本cuda(原9.0,新安装10.0),并随时切换使用
1. 下载cuda10.0
链接: https://developer.nvidia.com/cuda-toolkit-archive
选择要安装的版本,注意是runfile类型。
2.安装cuda10.0
我下载的是cuda_10.0.130_410.48_linux.run,下载好后进入到cuda_10.0.130_410.48_linux.run 的目录,执行下面两条命令安装:
sudo chmod +x cuda_10.0.130_410.48_linux.run # 为 cuda添加可执行权限
sudo ./cuda_10.0.130_410.48_linux.run # 安装
接下来会出现协议说明,可以直接按q退出协议说明
Do you accept the previously read EULA?
accept/decline/quit: accept # 接受协议
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n # 是否安装显卡驱动包,由于已经安装显卡驱动,选择n
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y # 是否安装工具包,选择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 # 如果之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则这里就建议选n,因为指定该链接后会将cuda指向这个新的版本
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: y # 安装样例
Enter CUDA Samples Location
[ default is /home/jiaoda ]: # 样例安装地址默认即可
Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
Missing recommended library: libGLU.so
Missing recommended library: libXmu.so
Missing recommended library: libGL.so
Installing the CUDA Samples in /home/jiaoda ...
Copying samples to /home/jiaoda/NVIDIA_CUDA-10.0_Samples now...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.0
Samples: Installed in /home/jiaoda, but missing recommended libraries
Please make sure that
- PATH includes /usr/local/cuda-10.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver
Logfile is /tmp/cuda_install_6090.log
# ***安装完成***
3. cuda环境设置
终端首先输入
gedit ~/.bashrc
在打开的 .bashrc末尾添加环境变量
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
注意上面的路径都是指向/usr/local/cuda 软连接,并没有写死指向某一个cuda版本,后面切换时不用改路径了,只改软连接指向就可以了。
保存关闭后,执行下面命令,使之立即生效
source ~/.bashrc
另一种vim方式设置环境变量:
vim ~/.bashrc # 修改配置文件
#在结尾处添加
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
source ~/.bashrc # 让更改生效
4. cuda版本切换
到/usr/local/目录下打开终端
sudo rm -rf cuda #删除之前的软链接(原本指向9.0)
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda #生成新的软链接,指向10.0
以下四行命令均可以查看当前cuda软链接指向的哪个cuda版本
stat cuda # stat /usr/local/cuda
cat /usr/local/cuda/version.txt
nvcc --version
nvcc -V
ls -al # 在/usr/local目录下查看
当我们想使用cuda-9.0版本时,只需要删除上面的软链接,然后重新建立指向cuda-9.0版本的软链接即可。
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
可能遇到的问题
1. nvcc -V显示有误
已经切换到了cuda10.0,用stat cuda查看正常,但用nvcc -V 查看的时候仍然显示9.0版本。可能原因是nvcc默认是你以前deb安装时候其他版本的,所以就算操作按上面一步步来,nvcc –V结果还是没变。所以我们可以找到nvcc位置,然后创建/usr/local/cuda/bin/nvcc软链接到原先nvcc位置,操作如下:
which nvcc # 找到nvcc位置,我的在/usr/local/cuda-9.0/bin/nvcc
sudo ln -s /usr/local/cuda/bin/nvcc /usr/local/cuda-9.0/bin/nvcc # 创建软链接链接到当前cuda的nvcc
nvcc -V # 显示当前cuda版本
在创建软连接时可能还会遇到这个问题,显示ln: 无法创建符号链接’/usr/local/cuda-9.0/bin/nvcc’: 文件已存在
此时,可以把cuda9.0/bin下的nvcc备份一下,然后删除重新创建软连接。
sudo rm -f nvcc # 在/usr/local/cuda-9.0/bin下删除
最终成功显示啦!
2. nvcc -V找不到
nvcc -V # 出现以下提示
Command 'nvcc' not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit
可能是cuda 装好了,但是 nvcc 所在路径没有加入系统路径中,所以系统找不到 nvcc 。如果cuda 安装好了, nvcc 程序应该在路径 /usr/local/cuda/bin 中,可以直接在该路径下执行:
./nvcc -V
出现了!
神奇的是重新终端输入nvcc -V也能成功显示了!
安装cudnn
链接: https://developer.nvidia.com/rdp/cudnn-download
需要注册后登陆下载,我选择的是7.6.5。
下载这个:cuDNN Library for Linux
下载好后直接解压,得到文件夹 cuda,然后复制lib64和include文件夹到usr/local/cuda-10.0,更改权限,安装完成。命令如下:
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h /usr/local/cuda-10.0/lib64/libcudnn*
确认是否成功安装
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
下图所示安装成功!
切换cuda时,相应的cudnn也改变了。
参考博文:
链接: https://blog.csdn.net/tunhuzhuang1836/article/details/79545625
链接: https://blog.csdn.net/weixin_43915860/article/details/103191748?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
本文地址:https://blog.csdn.net/qq_45057749/article/details/107320354
下一篇: 数位的处理