在ubuntu上安装多个版本的CUDA,并实现CUDA版本的自由切换
本文以CUDA9.0为例进行安装的详细介绍。安装前提:以root账户或者加入到sudo用户组中的账户登录服务器。CUDA安装文件下载CUDA9.0下载链接:https://developer.nvidia.com/cuda-toolkit-archive,根据平台配置选择下载即可。这里下载完毕之后需要自己把文件重命名为cuda_9.0.176_384.81_linux.run#先执行下面的命令安装
本文以CUDA9.0为例进行安装的详细介绍。
安装前提:以root账户或者加入到sudo用户组中的账户登录服务器。
CUDA安装文件下载
CUDA9.0下载链接:https://developer.nvidia.com/cuda-toolkit-archive,根据平台配置选择下载即可。
这里下载完毕之后需要自己把文件重命名为cuda_9.0.176_384.81_linux.run
#先执行下面的命令安装相关依赖,否则会出现Missing recommended library错误
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
#开始安装
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
#是否安装显卡驱动包,这里注意由于我已经安装了新版显卡驱动,所以选择n,如果你是首次安装选择y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
y)es/(n)o/(q)uit: n
# 安装CUDA 9.0 Toolkit工具包
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
#工具包安装地址,默认回车即可
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:
#添加symbolic link链接 **注意这个连接,如果你之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则为了不影响目前服务器系统环境这里就选no。因为指定该链接后,服务器系统将会把默认使用的cuda指向这个新安装的版本** 如果你是首次安装可以选择yes。由于我这里安装过cuda版本,所以选择no
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: y
#样例安装地址,这里选择与安装cuda toolkit工具包的地址保持一致
Enter CUDA Samples Location
[ default is /root ]: /usr/local/cuda-9.0
#输入样例安装地址回车之后报错,别担心我们慢慢分析,根据错误提示信息可知,运行安装文件时可以使用--override参数来解决。
#加上--override参数之后重新安装
# CUDA安装完成
注意!!!如果安装运行时加上了--override之后报如下错误
Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...
Warning: cannot find Toolkit in /usr/local/cuda-9.0. Use --toolkitpath to specify the toolkit location.
Installing the CUDA Samples in /home/user ...
sh: 1: /usr/local/cuda-9.0/bin/cuda-install-samples-9.0.sh: not found
chown: cannot access '/usr/local/cuda-9.0/NVIDIA_CUDA-9.0_Samples': No such file or directory
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installation Failed
Samples: Installation Failed
解决方案可以参照博客:https://blog.csdn.net/songer93/article/details/95645513
#编译并测试设备 deviceQuery:
user@cernet2:~$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
user@cernet2:/usr/local/cuda-9.0/samples/1_Utilities/deviceQuery$ sudo make
user@cernet2:/usr/local/cuda-9.0/samples/1_Utilities/deviceQuery$ ./deviceQuery
Result = PASS 代表设备测试通过
CUDA9.0安装大功告成,不过还没结束!我们还需要安装与CUDA9.0相对应的cuDNN7。
cuDNN安装库下载
cuDNN7下载链接:https://developer.nvidia.com/rdp/cudnn-archive,选择相应的版本下载即可,注意下载过程中需要登录NVIDIA的账号,根据提示操作即可。
下载完成之后得到的文件是cudnn-9.0-linux-x64-v7.6.5.32.solitairetheme8,然后重命名为cudnn-9.0-linux-x64-v7.6.5.32.tar,然后再解压cudnn-9.0-linux-x64-v7.6.5.32.tar文件会得到cuda文件夹,该文件夹包含两个文件夹include、lib64。
cuDNN安装开始!
相关文件复制
#切换到刚刚解压出来的文件夹路径
user@cernet2:~$ cd cuda/
#复制include里的头文件到/usr/local/cuda-9.0/include/中
user@cernet2:~/cuda$ cd include/
user@cernet2:~/cuda/include$ sudo cp cudnn.h /usr/local/cuda-9.0/include/
#复制lib64下的所有lib开头的文件到cuda-9.0安装路径下的lib64文件夹下
user@cernet2:~/cuda/include$ cd ../lib64/
user@cernet2:~/cuda/lib64$ sudo cp lib* /usr/local/cuda-9.0/lib64/
更新软链接
#切换到cuda-9.0安装路径下的lib64文件夹下
user@cernet2:~/cuda/lib64$ cd /usr/local/cuda-9.0/lib64/
#删除原有动态文件,版本号注意变化,可在上述cudnn-9.0-linux-x64-v7.6.5.32.tar文件解压得到的文件夹cuda中的lib64文件夹中查看
user@cernet2:~/usr/local/cuda-9.0/lib64$ sudo rm -rf libcudnn.so libcudnn.so.7
#生成软链接,版本号注意变化,同样可在上述cudnn-9.0-linux-x64-v7.6.5.32.tar文件解压得到的文件夹cuda中的lib64文件夹中查看
user@cernet2:~/usr/local/cuda-9.0/lib64$ sudo ln -s libcudnn.so.7.6.5 libcudnn.so.7
user@cernet2:~/usr/local/cuda-9.0/lib64$ sudo ln -s libcudnn.so.7 libcudnn.so
#立刻生效
user@cernet2:~/usr/local/cuda-9.0/lib64$ sudo ldconfig -v
cuDNN安装结束!
至此CUDA-9.0的整个安装就结束了!接下来看普通用户如何在SSH会话状态下实现CUDA版本的自由切换!
下载CUDA版本切换脚本:https://github.com/phohenecker/switch-cuda,将switch-cuda.sh脚本下载到自己账户上,执行以下操作来进行自由切换。
#查看服务器上所有的CUDA版本
lyj@cernet2:~$ source switch-cuda.sh
#任意切换CUDA版本
lyj@cernet2:~$ source switch-cuda.sh 9.0
感谢阅读!有帮助请您收藏。
更多推荐
所有评论(0)