linux上的,多种安装方式产生的,多个cuda版本,以及执行顺序问题(nvidia-smi, /usr/local/,conda)

一、多个cuda版本

1、sudo ubuntu-drivers autoinstall 安装驱动,会自带一个cuda,这个cuda是一个版本(通过 nvidia-smi 查看)

2、从官网上下载,并安装cuda在/usr/local下,此时又是一个cuda版本(通过 cat /usr/local/cuda/version.txt 查看)

1和2两种安装cuda方法,https://blog.csdn.net/qq_40947610/article/details/114706170

1和2两个cuda版本并存,为何不冲突?https://www.cnblogs.com/marsggbo/p/11838823.html

3、miniconda安装pytorch或者tensorflow也会安装另一个cuda版本(在 /miniconda3/pkgs/cudatoolkit*

2和3的区别,https://blog.csdn.net/qq_40947610/article/details/114707085


二、执行顺序

调用哪个 cuda 库要看生成 tensorflow / pytorch 库的时候,设置的链接库寻找目录,以 pytorch 为例,项目根目录下的 setup.py 中指定了链接库的搜索目录,其中 cuda 的根目录 CUDA_HOME在 tool.setup_helpers.cuda 中有获取逻辑,大概过程是:

      0. ~/.bashrc下指定的CUDA_HOME

  1. 默认 cuda 安装目录 /usr/local/cuda
  2. 如默认目录不存在(例如安装原生 cuda 到其他自定义位置),那么搜索 nvcc 所在的目录
  3. 如果 nvcc 不存在,那么直接寻找 cudart 库文件目录(此时可能是通过 conda 安装的 cudatoolkit,一般直接用 conda install cudatoolkit,就是在这里搜索到 cuda 库的),库文件目录的上级目录就作为 CUDA_HOME
  4. 如果最终未能得到 CUDA_HOME,那么生成的 pytorch 将不使用 CUDA。

(以上过程的 pytorch 源码版本 '1.3.0')

详细的可去看 pytorch 源码。tensorflow 源码我没看过,不过思路应该差不多。

 

参考:https://www.zhihu.com/question/344950161

  • 15
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值