pytorch,cuda,cudatoolkit,driver版本详解

pytorch,cuda,cudatoolkit,driver四者关系如下:

  • 系统的Nvidia Driver决定着系统最高可以支持什么版本的cuda和cudatoolkit,Nvidia Driver是向下兼容的,详情如下(见Nvidia Driver和Cuda对应关系
    在这里插入图片描述
  • cuda和cudatoolkit不同,前者说的是系统安装的cuda,它是由Nvidia官方提供的(/usr/local/cuda就是系统安装的cuda的软链接),这与我们要安装的pytorch几乎没有什么关系。后者是anaconda官方提供的用来build pytorch的一个工具包,它是Nvidia所提供的cuda的一个子集。
  • pytorch和cudatoolkit版本并不是一一对应的关系,一个pytorch版本可以有多个cudatoolkit版本与之对应。例如1.5.1版本的pytorch,既可以使用9.2版本的cudatoolkit,也可以使用10.2版本的cudatoolkit。

pytorch安装的坑

只指定pytorch版本来安装不一定是能work的,例如执行conda install pytorch=X.X.X -c pytorch时,conda会自动为你选择合适版本的cudatoolkit。但conda只能保证你的pytorch和cudatoolkit版本一定是对应的,但并不能保证pytorch可以正常使用,因为系统的Nvidia Driver有可能不支持你所安装的cudatoolkit版本。

所以,除非你对你的Nvidia driver版本很有自信,否则,还是先查看系统Nvidia Driver的版本,并在上方图表中查询最高支持的cudatoolkit版本,然后指定cudatoolkit版本来安装pytorch吧。例如系统的Nvidia Driver版本为440.33,查询到最高支持cudatoolkit版本为10.2,则可以使用conda install pytorch cudatoolkit=10.2 -c pytorch命令安装pytorch。

当然,如果你对pytorch版本有特别的要求,你可以同时指定pytorch和cudatoolkit的版本。如果这两个版本不能兼容,系统会报错,例如:

conda install pytorch=1.5.1 cudatoolkit=9.0 -c pytorch

conda会告诉你:

Solving environment: failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - cudatoolkit=9.0 -> __cuda[version='>=9.0']
  - pytorch=1.5.1
Use "conda info <package>" to see the dependencies for each package.

如果你的Nvidia Driver最高支持的cudatoolkit版本为9.0,而你又一定要用1.5.1版本的pytorch,那么你必须升级系统的Nvidia Driver版本。

  • 17
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值