实验室服务器下非root用户多版本CUDA安装配置(超详细)

实验室服务器的cuda版本是10.1 我因为跑一个实验需要使用10.0的cuda,于是想自己多配置一个cuda10.0,百度到了好几个教程,除了下载安装以外,总体来说就是修改系统变量指定的cuda版本就行了,给大家分享下我的过程吧

1.显卡驱动

这个由管理员安装,实验室服务器已经有了,10.1都能用,那么<=10.1版本的cuda都能用这个驱动,所以这一步不用做什么实验室服务器下非root用户多版本CUDA安装配置(超详细)

2. 下载安装cuda10.0

去官网下载你想要的版本,我想要10.0 我下载的是.run文件,比较简单
进入你下载了cuda10的run文件的目录执行以下:
实验室服务器下非root用户多版本CUDA安装配置(超详细)注意到我第二个安装命令后面多了个 --tmpdir=xxxx,这是因为我没加的时候,提示我空间不够,我查了资料,加上这个后缀,后面加一个空间比较大的目录就行了
一路操作如下图
实验室服务器下非root用户多版本CUDA安装配置(超详细)
对了,其中有个Toolkit Location,我填的是/home…/cuda-10.0,这里要注意,这个cuda-10.0的目录,是我在执行这个命令前,手动新建的,不然的话,就会给你一堆散装的了哈哈哈
最后显示如下:实验室服务器下非root用户多版本CUDA安装配置(超详细)注意到后面有个warning,没关系的,不是error就行,现在就可以了,进行下一步了

3. 下载安装cudnn

我下载的是这个
实验室服务器下非root用户多版本CUDA安装配置(超详细)下载下来是个压缩包后缀是tgz,也可能是啥sol…,直接重命名就完事儿了哈哈哈哈
后面先解压,注意cudnn解压完以后是一个名为cuda的文件夹,如下,别搞混了就行
实验室服务器下非root用户多版本CUDA安装配置(超详细)
再拷贝文件到cuda-10.0的文件夹里,
实验室服务器下非root用户多版本CUDA安装配置(超详细)现在由cudnn解压而成的cuda目录就可以删掉了,没用了,已经转移到cuda-10.0里了

4. 给cuda建立软连接,也就是快捷键

实验室服务器下非root用户多版本CUDA安装配置(超详细)

5. 把cuda加入系统变量

打开.bashrc文件,把cuda加入系统变量 .bashrc文件在/home/你的账户 里,下面命令的cuda就是cuda的软连接,你也可以跳过前面建立软连接的那一步,将这的cuda改成你的cuda文件夹,比如我的cuda-10.0
后面我想用自己的别的cuda版本的时候,就不用改系统变量了,先删除原来cuda10.0得软连接,再给你想用的cuda版本比如cuda9建立个软连接也叫cuda,就不用改系统变量了
当然我如果想用实验室服务器配好的Cuda10.1的话,我觉得就直接把我加的这两行系统变量注释掉就好了吧,因为之前就没有,但我能直接用实验室的cuda10.1,实在不行就把里面的cuda地址改成实验室系统目录的cuda,一般是/usr/local/里
实验室服务器下非root用户多版本CUDA安装配置(超详细)
添加完以后,再用source命令**一下,就完全成功了,可以
对了,科普一下
实验室服务器下非root用户多版本CUDA安装配置(超详细)

6.测试一下

实验室服务器下非root用户多版本CUDA安装配置(超详细)
厉害哈哈哈哈!!!从原来的cuda10.1变成cuda10.0了

7.版本切换

由于我在自己的账户空间里只安装了cuda-10.0一个cuda版本,所以我试试怎么转到实验室已经配置好的cuda10.1
我先采用注释掉加上的两行系统变量试试
实验室服务器下非root用户多版本CUDA安装配置(超详细)
结果真的成果啦哈哈,如下又变回10.1了
实验室服务器下非root用户多版本CUDA安装配置(超详细)
如果想通过我前面建立的cuda软链接方式切换的话,如下图这种方法:先删除指向原来版本的软连接,建立一个还是叫做cuda的软连接指向新版本
实验室服务器下非root用户多版本CUDA安装配置(超详细)
我这边没有在自己账户下下载别的版本,就不试了哈哈

最后这次参考的博客:
1
2
3
4
5
6