每日一坑之显卡算力过高的幸福烦恼 用3090运行ostrack,报错UserWarning: NVIDIA GeForce RTX 3090 with CUDA capability sm_86

NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.

省流版

卸载torch torchvision torchaudio(conda装conda卸 pip装pip卸)

命令行运行:

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

分析原因

贴一个OStrack GitHub链接:OStrack

根据Option1中的方式部署环境,即:

conda create -n ostrack python=3.8
conda activate ostrack
bash install.sh

在配置好各种路径后,运行test,报错

NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.

翻译一下:当前pytorch支持算力 sm_37 sm_50 sm_60 sm_61 sm_70 sm_75,而当前显卡(GeForce RTX 3090)的算力为sm_86

我们是通过install.sh这个脚本安装的pytorch,注意看下图画框部分,原作者指定了安装cuda版本为10.2的pytorch,该版本pytorch不支持sm_86算力

解决方式1

将install.sh脚本第二行,也就是上图画框处的cudatoolkit=10.2 改为 cudatoolkit=11.3,修改过后第二行为:

conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.3 -c pytorch

由于我的Solving environment要转八辈子转到我老,并且长期不想解决这个问题,这种方式我没有亲测

解决方式2

首先卸载pytorch torchvision torchaudio

conda uninstall pytorch torchvision torchaudio

(由于我的uninstall也很慢并且长期不想解决此问题,所以我选择直接remove环境,重新创建环境)

ostrack中的torch版本为1.9.0,查询pytorch官方

已知ostrack原文安装的是cuda10.2版本,不支持sm_86算力,故安装cuda11.3版本的

conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.3 -c pytorch -c conda-forge

理论上应该是可以,由于conda太慢了,还是没有亲测,选择官方给出的pip版

即:

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

理论上还是可以的,报错找不到版本 

解决方式3

既然1.9.0版本的pytorch安装会有各种问题,so我直接安装了1.9.1版本的pytorch

即:

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

安装结束后,查看torch版本支持的算力:

import torch

print(torch.cuda.get_arch_list())

输出:['sm_37', 'sm_50', 'sm_60', 'sm_70', 'sm_75', 'sm_80', 'sm_86']

即torch版本支持3090的sm_86算力!问题得到解决!

将install.sh脚本中安装pytorch的行注释掉

再运行bash install.sh 安装其它包,就可以成功运行了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

RR010511

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

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

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

打赏作者

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

抵扣说明:

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

余额充值