Solution to RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch version

Posted by wang luo on July 30, 2024

解决方案

升级CUDA版本,然后安装与CUDA版本对应的PyTorch版本。

  • 第一步,笔者先查询Linux系统中对应的显卡驱动器版本470.94,然后进入CUDA Toolkit官方文档界面,根据驱动器版本号与CUDA Toolkit 版本映射表,找到对应的CUDA Toolkit版本。CUDA 11.0(11.0.3)-CUDA 11.8.x可用
  • 第二步,下载CUDA Toolkit安装包,比如确定的CUDA 11.6, 进入CUDA下载界,在这个界面点击CUDA历史版本并下载。
  • 第三步,nvidia官网卸载CUDA,另外较老的版本可以通过运行./usr/local/cuda-11.2/bin/cuda-uninstaller来卸载
    1. To remove CUDA Toolkit:
        sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \ "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
      
    2. To remove NVIDIA Drivers:
        sudo apt-get --purge remove "*nvidia*" "libxnvctrl*"
      
    3. To clean up the uninstall:
        sudo apt-get autoremove
      
  • 第四步,安装CUDA及cudnn,参考:ubuntu20.04+安装11.6过程+pytorch安装记录;cudnn安装,cuDNN版本的查询及下载
  • 第五步,进入Pytorch官网,查询与CUDA版本相对应的Pytorch安装命令。
  • 第六步,进入到自己的虚拟环境中,执行pytorch安装命令。