You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NVCC的--gpu-architecture(-arch)参数作用及编译异常原因咨询

问题原因解析
  • 硬件与指定架构不匹配
    你的RTX2060属于Turing架构,对应计算能力为sm_75;而-arch=sm_86是Ampere架构(如RTX30系列)的计算能力标识。NVCC用sm_86编译时,会生成仅适配该架构及以上GPU的二进制代码,你的RTX2060无法执行这段内核代码,因此GPU端的hello_world内核完全没运行,只有CPU端的printf("Execution ends\n")被执行。

  • 无参数编译的默认逻辑
    直接执行nvcc hello_world.cu时,NVCC会自动检测当前系统的GPU型号,匹配对应的计算能力(这里是sm_75),生成兼容的可执行文件,所以内核能正常启动并输出所有线程的打印内容。

  • 额外说明
    CUDA的二进制代码不支持“向后兼容”——高架构版本的代码无法在低架构GPU上运行,但低架构代码可以在高架构GPU上通过向前兼容机制运行。你指定了高于硬件的架构版本,导致内核加载执行失败。

内容的提问来源于stack exchange,提问作者ihdv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:40:41