最近在学习CUDA,看着CUDA C教程 使用nvcc进行编译文件出现这个问题。

运行代码:

nvcc -arch sm_20 cudatest.cu -o hello

错误:

nvcc fatal   : Value 'sm_20' is not defined for option 'gpu-architecture'

解决:

教程使用的架构较老。我使用的是4090,计算能力最高可以写89就行了
具体看这,自己查一下:https://developer.nvidia.com/cuda-gpus

改为:

nvcc -arch sm_86 cudatest.cu -o hello

或者 不写:

nvcc cudatest.cu -o hello

补充:

这行代码是用来编译一个名为 cudatest.cu 的 CUDA 源文件的命令。

nvcc 是 NVIDIA CUDA 编译器的名称,它负责将 CUDA 代码编译成可在 GPU 上运行的程序。

-arch sm_86 参数指定了目标架构,即代码将在支持 sm_86 计算能力的 GPU 上运行。

-o hello 参数指定了输出文件的名称,即编译后生成的可执行文件将被命名为 hello。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐