我正在尝试在 Ubuntu 上使用 nvcc 编译 CUDA 代码。但是,当我这样做时,我得到了这个输出:
> make
/usr/local/cuda/bin/nvcc -m64 --ptxas-options="-v" -gencode arch=compute_11,code=sm_11 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -o main main.cu
gcc: No such file or directory
make: *** [main] Error 1
即使我试图编译一个只有 main 函数的文件,它仍然不起作用:
> /usr/local/cuda/bin/nvcc main.cu
gcc: No such file or directory
nvcc 似乎响应--version,所以它肯定存在。我不确定为什么它会调用 gcc。
nvcc 本身不是编译器。它是一个“编译器驱动程序”,编排了编译设备代码、主机代码并将它们链接在一起的整个过程。在 Linux 上,它使用 gcc 编译主机代码。
在 Ubuntu 上安装 gcc:
$ sudo apt-get --yes install build-essential
我是一名优秀的程序员,十分优秀!