表面上是pytorch版本不够,实际是pytorch所依赖的cuda版本不够 总结:给RTX 3090配置cuda11以上版本即可
项目场景:环境 RTX 3090 + linux 配置 torch-1.10.0 torchtext-0.11.0 cuda11.8
问题描述UserWarning: 带有CUDA能力sm_86的NVIDIA GeForce RTX 3090与当前的PyTorch安装不兼容。 当前的PyTorch安装支持CUDA功能sm_37 sm_50 sm_60 sm_70。 如果您想在PyTorch中使用NVIDIA GeForce RTX 3090 GPU,请查看https://pytorch.org/get-started/locally/的说明
UserWarning: 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_70.If you want to use the NVIDIA GeForce RTX 3090 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/ 原因分析:参考:https://blog.csdn.net/Paramagnetism/article/details/115221478
幸福的烦恼 CUDA capability sm_86:算力8.6 上面表面上是说PyTorch,实际上是PyTorch依赖的CUDA版本的问题 翻译一下就是:RTX 3090的算力是8.6,但是当前的PyTorch依赖的CUDA版本支持的算力只有3.7、5.0、6.0、7.0
算力7.0的显卡可以在支持最高算力7.5的CUDA版本下运行,但是算力7.5的显卡不可以在支持最高算力7.0的CUDA版本下运行 同理算力8.x的显卡不可以在支持最高算力7.x的CUDA版本下运行
解决方案:参考:https://blog.csdn.net/weixin_41529093/article/details/122039547
查看gpu的算力(即nvidia的算力) nvidia-sminvidia-smi -anvidia官网的算力查询 https://developer.nvidia.cn/zh-cn/cuda-gpus
查看pytorch版本&支持的cuda算力 >>> import torch>>> print(torch.__version__) pythonimport torchtorch.cuda.get_arch_list()[‘sm_37’, ‘sm_50’, ‘sm_60’, ‘sm_70’]
查看cuda版本 nvcc _V 查看对应版本pytorch官网 https://pytorch.org/get-started/previous-versions/
上pytorch官网查看(安装)最新版本的cuda以及对应的pytorch
# CUDA 11.3conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge在现有conda下安装报错
因此新建环境
conda create -n wyt_1.10 python==3.8进入到环境下
conda activate wyt_1.10然后安装,还是报错 换成pip版本
pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html成功了
查看支持算力