nvcc for linux 使用的默认主机编译器

发布于 2024-12-19 04:26:58 字数 290 浏览 2 评论 0原文

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

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

I am using CUDA 4.0 on Ubuntu 10.10 with GTX 570 (compute capcability 2.0), with the GCC compiler suite. As I understand it, during compilation the CUDA compiler driver nvcc splits the .cu files into host code and device code and calls the host compiler to compile the host code and compiles the device code separately. Finally it merges the generated host object code and the device PTX code into a single executable.

For Linux systems what is the default compiler that is invoked for compiling the host code? Is it
the C compiler (gcc) or the C++ compiler (g++) of the GCC suite?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

春花秋月 2024-12-26 04:26:58

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

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

You want the -ccbin option for nvcc, e.g. to use icpc (the Intel C++ compiler), use nvcc -ccbin=icpc (assuming the icpc is available in your $PATH).

Note that you should always pass a C++ compiler (g++, icpc, etc.), since nvcc treats the code as C++, even when it's C code.

一影成城 2024-12-26 04:26:58

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

AFAIK it uses g++ (to be more precise it uses gcc with language set to c++) and of course g++ for final linking. Run nvcc with --verbose option to see more detail if you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文