4

我在带有 GTX 570(计算能力 2.0)的 Ubuntu 10.10 上使用 CUDA 4.0,并带有 GCC 编译器套件。据我了解,在编译过程中,CUDA编译器驱动程序nvcc将.cu文件拆分为主机代码和设备代码,并调用主机编译器编译主机代码和分别编译设备代码。最后,它将生成的主机目标代码和设备 PTX 代码合并为一个可执行文件。

对于 Linux 系统,用于编译主机代码的默认编译器是什么?是GCC 套件的 C 编译器 ( gcc) 还是 C++ 编译器 ( )?g++

4

2 回答 2

15

您想要 的-ccbin选项nvcc,例如使用icpc(英特尔 C++ 编译器),使用nvcc -ccbin=icpc(假设icpc在您的 中可用$PATH)。

请注意,您应该始终传递 C++ 编译器(g++icpc等),因为nvcc将代码视为 C++,即使它是 C 代码也是如此。

于 2013-03-20T07:50:24.900 回答
5

它使用的 AFAIK g++(更准确地说,它使用gcc语言设置为 c++),当然也g++用于最终链接。如果需要,可以使用选项运行以查看更多详细nvcc信息。--verbose

于 2011-11-30T20:41:30.660 回答