Debian中在anaconda虚拟环境中配置指定cuda 10.0和cuda10.2版本,并保留系统cuda版本

问题: 在anaconda虚拟环境中安装的指定的cuda版本, 我开始用conda install cudatoolkit=10.0,但好像我编译其他环境的时候,还是会使用系统cuda的10.2版本. 直到我找资料,发现可以在activate虚拟环境的时候激活指定版本的cuda,并且在deactivate的时候退出指定版本的cuda.

我的系统cuda版本是10.2, 我们先安装cuda10.0

首先需要降级gcc

检查debian10的gcc版本

gcc --version

会看到是8.3.0或者更高,因此要降低版本。

sudo apt-cache search gcc-7
sudo apt-get install gcc-7
sudo apt-get install g++-7
sudo ln -s /usr/bin/gcc-7 /usr/local/bin/gcc
sudo ln -s /usr/bin/g++-7 /usr/local/bin/g++

这里官网没有Debian的cuda10.0版本,所以我们可以下载Ubuntu18.04的cuda10.0版本,亲测安装成功!!
(注意此命令需要按Ctrl-Alt+F1进入tty环境执行)

sudo service lightdm stop
ls
sudo sh ./cuda_10.0.130_410.48_linux.run

accept
我们已经安装好了nvidia驱动, 所以
在选择是否安装Driver的时候输入 n
我们已经安装好了系统的cuda并且加入了系统符号链接, 所以
在选择是否生成系统符号链接的时候输入 n

安装cudnn7.5.0
下载cuda10.0版本对应的cudnn7.5.0

tar -xzvf cudnn-10.0-linux-x64-v7.5.0.56.tgz
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 
sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*

检测是否安装成功

cat /usr/local/cuda-10.0/include/cudnn.h | grep CUDNN_MAJOR -A 2

然后配置指定版本cuda的anaconda环境

第⼀步 创建环境

conda create -n Det3D python=3.7

第⼆步 指定该环境使⽤用的cuda版本
编译时,实际是从动态链接库的地址找需要的cuda动态链接库,所以我们只需要指定 LD_LIBRARY_PATH . 即保证该环境启动时,把cuda 10的地址加⼊入 LD_LIBRARY_PATH ,关闭该环境时, 再移除.

创建环境启动时的脚本:

mkdir -p ~/anaconda3/envs/Det3D/etc/conda/activate.d
touch ~/anaconda3/envs/Det3D/etc/conda/activate.d/activate.sh
chmod +x ~/anaconda3/envs/Det3D/etc/conda/activate.d/activate.sh
gedit ~/anaconda3/envs/Det3D/etc/conda/activate.d/activate.sh

在脚本中填⼊入:

 #!/bin/sh
ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH

创建环境关闭时的脚本:

mkdir -p ~/anaconda3/envs/Det3D/etc/conda/deactivate.d
touch ~/anaconda3/envs/Det3D/etc/conda/deactivate.d/deactivate.sh
chmod +x ~/anaconda3/envs/Det3D/etc/conda/deactivate.d/deactivate.sh
gedit ~/anaconda3/envs/Det3D/etc/conda/deactivate.d/deactivate.sh

在脚本中填⼊:

#!/bin/sh
export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
unset ORIGINAL_LD_LIBRARY_PATH

第三步 使⽤,检查
启动环境: conda activate Det3D 检查动态链接库路路径:
echo $LD_LIBRARY_PATH ,应该看到输出:

 /usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/extras/CUPTI/lib64:

检查安装包列列表: pip list 或者 conda list:
关闭环境: conda deactivate

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酸罗卜不酸II

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值