我是靠谱客的博主 俊逸柚子,最近开发中收集的这篇文章主要介绍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

最后

以上就是俊逸柚子为你收集整理的Debian中在anaconda虚拟环境中配置指定cuda 10.0和cuda10.2版本,并保留系统cuda版本的全部内容,希望文章能够帮你解决Debian中在anaconda虚拟环境中配置指定cuda 10.0和cuda10.2版本,并保留系统cuda版本所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部