【问题标题】:nvcc fatal : Unsupported gpu architecture 'compute_86'nvcc 致命:不支持的 gpu 架构“compute_86”
【发布时间】:2021-12-20 06:01:55
【问题描述】:

大家好,我需要一点帮助来了解为什么 nvcc 没有获得对我的 gpu 的支持

我有一个带有此驱动程序的 Nvidia RTX 3090 ti 24GB

CUDA Version: 11.4 

Driver Version: 470.74

18.04.1-Ubuntu SMP

Cuda compilation tools, release 9.1, V9.1.85

我一直在寻找这种卡架构,它是 Ampere,所以库的版本是 compute_86 或 sm_86(如果我没记错的话)。但是在使用 nvcc 进行编译时,它会返回给我

nvcc 致命:不支持的 gpu 架构“compute_86”

我运行了 nvcc --help 并且发现了一些奇怪的东西,它返回给我的是 gpu-code 和 gpu-architecture

此选项的允许值:'compute_30','compute_32','compute_35', 'compute_37','compute_50','compute_52','compute_53','compute_60','compute_61', 'compute_62','compute_70','compute_72','sm_30','sm_32','sm_35','sm_37','sm_50', 'sm_52','sm_53','sm_60','sm_61','sm_62','sm_70','sm_72'。

所以我缺少任何必须下载的驱动程序版本或某些库,或者我无法使用我的 GPU 进行编译?我没有找到这个问题的任何解决方案或任何答案

【问题讨论】:

  • 您的 nvcc 似乎是 V9.1。也许将其更新到 V11.4?试试nvcc -V 确定。是否分别安装了cuda工具包(包括nvcc)和nvidia驱动?
  • 我正在寻找最新版本,它似乎是我在问题中所写的 9.1.85,所以我不明白这怎么可能,如果我使用 apt search 它会返回 @ 987654324@ 在另一台电脑上我有nvidia-cuda-toolkit/focal 10.1.243-3 amd64 NVIDIA CUDA development toolkit nvidia-cuda-toolkit-gcc/focal 10.1.243-3 amd64 NVIDIA CUDA development toolkit (GCC compatibility) 我如何强制更新到较新版本? Ubuntu 18.04可以吗?谢谢
  • 对我来说,从 apt 更新 nvidia 软件包总是有问题的。最好按照此网页的说明进行操作:developer.nvidia.com/cuda-11-4-2-download-archive。 cuda 工具包有一个 18.04 版本。另外,你可能已经将cuda环境变量设置为旧版本nvcc的路径,安装新版本后记得更改它们。
  • 非常感谢我正在尝试使用您的链接更新如果它有效,我将克隆问题
  • 它成功了,请问您可以将它作为解决方案发布吗?

标签: ubuntu compiler-errors pytorch nvidia nvcc


【解决方案1】:

在您发布的系统信息中,最后一行

Cuda compilation tools, release 9.1, V9.1.85

表示您的 NVCC 当前是 V9.1(使用 nvcc -V 确定)。此版本的 NVCC 太旧,无法支持compute_86。发生这种情况的一个可能原因是您分别安装了具有不同 CUDA 版本的 CUDA 工具包(包括 NVCC)和 GPU 驱动程序。您可以按照此官方页面上的说明将其更新到 V11.4 来解决它:developer.nvidia.com/cuda-11-4-2-download-archive。根据我的经验,使用 apt 管理 NVIDIA 驱动程序和 CUDA 工具包经常会弄乱系统。所以建议改用官方安装程序。如果您之前设置过 CUDA 相关的环境变量,请记得重置它们以链接到新版本。

要获取另一个特定版本的 CUDA,您只需 google“cuda 工具包(版本号)下载”并查找官方 nvidia 网站结果。

【讨论】:

  • 我也面临同样的问题,我确实从 nvidia 网站下载了 cuda,但我的 nvcc 版本从未改变。还有什么要更改或链接到任何地方的正确版本吗?
  • @Raymond 这三个环境变量需要重新设置(在 ~/.bashrc 中):export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64export PATH=$PATH:/usr/local/cuda-11.4/binexport CUDA_HOME=/usr/local/cuda-11.4
  • 是的,你是对的。通过在 .bashrc 中添加 PATH 解决了我的问题。我通过阅读 nvidia 官方网站上提供的数百万行无聊的说明来弄清楚这一点。我希望有人在某处用粗体突出显示它,这样可以节省我弄清楚这一点的时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-14
  • 2017-06-01
  • 2018-07-01
  • 2021-02-22
  • 2014-02-07
  • 2017-05-03
相关资源
最近更新 更多