【问题标题】:Cuda Unsupported gpu architecture Eclipse NsightCuda 不支持的 gpu 架构 Eclipse Nsight
【发布时间】:2014-02-07 12:05:43
【问题描述】:

我尝试使用 Eclipse Nsight 创建一个新项目,但是当我构建项目时,我得到:

nvcc fatal   : Unsupported gpu architecture 'compute_21'. 
In build setting i use Generate GPU code 2.1. The command build that Eclipse launches is:

Building file: ../src/prova.cu
Invoking: NVCC Compiler
/usr/local/cuda-5.5/bin/nvcc -G -g -O0 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -odir "src" -M -o "src/prova.d" "../src/prova.cu"
/usr/local/cuda-5.5/bin/nvcc --compile -G -O0 -g -gencode arch=compute_20,code=compute_20 -gencode arch=compute_20,code=compute_21 -gencode arch=compute_20,code=sm_20  -x cu -o  "src/prova.o" "../src/prova.cu"

如果我将code=compute_21 更改为code=compute_20,我没有任何错误。如何在 Eclipse Nsight 中进行更改?

【问题讨论】:

  • 该项目应该是 code=sm_21 而不是 code=compute_21 这似乎很奇怪,因为 nsight 应该自动设置它。相关设置在 project...properties..build...cuda 中,您可以在其中选择代码生成目标。但是,除非您以某种方式自定义了项目,否则不应获得此设置。您可能想从头开始创建一个新项目,看看会发生什么。

标签: c++ eclipse cuda nsight


【解决方案1】:

arch 命令指定将用于生成中间 ptx 的 虚拟 架构。

code 命令指定将为其生成代码的真实架构,可以是真实的可执行代码,也可以是 PTX 真实架构特定的代码。

compute_21 不存在作为两者中的虚拟架构。如果您想要真正的 21 架构的代码,请使用 arch=compute_20,code=sm_21


所以这是一个配置问题;尝试使用 CUDA 示例的 Nsight 导入向导(来源:https://devtalk.nvidia.com/default/topic/490324/issue-with-gencode-and-compute_21-results-in-unsupported-gpu-architecture/),看看问题是否仍然存在。

【讨论】:

  • 都是正确的,但这并不能解释 nsight 是如何得出这些值的。 compute_21 不是 nsight 中的可选设置。使用 nsight EE 时,用户通常不会输入这些字符串。
  • 我同意,修改更多提示
  • 我在您提供的链接中找不到对 Nsight 导入向导的任何引用,此外,该导入功能仅与 cuda 示例相关,该示例已经设置了 makefile。如果有的话,使用带有破坏的 makefile 的导入向导可能让您陷入此处描述的麻烦。
  • 当我从头开始创建新项目以及使用向导导入 cuda 示例项目时,我遇到了这个问题。 code=compute_21 由 Eclipse Nsight 设置。
  • @user1655904 你可以试试它的干净副本吗?它不应该是默认设置
【解决方案2】:

我安装了适用于 Fedora 19 的最新 CUDA 工具包 (cuda_5.5.22_linux_64.run) 并遇到了同样的问题。

我认为问题在于我更改了默认安装位置。在默认位置(/usr/local/cuda-5.5)重新安装CUDA工具包并删除cuda-workspace目录让Eclipse Nsight重新创建后,问题就消失了。

【讨论】:

    猜你喜欢
    • 2021-02-22
    • 2017-06-01
    • 1970-01-01
    • 2013-12-15
    • 2018-07-01
    • 2021-12-20
    • 1970-01-01
    • 2012-11-19
    • 2020-05-05
    相关资源
    最近更新 更多