0

我在 Ubuntu 12.04 LTS 上并安装了 CUDA 5.5。我知道代码中没有任何 CUDA/GPGPU 元素,nvcc 表现为 C/C++ 编译器——更像 gcc,但是这条规则有什么例外吗?如果没有,那么我可以将 nvcc 用作非 CUDA C/C++ 代码的 gcc 吗?

4

2 回答 2

2

不,nvcc 的行为不像主机代码的 C/C++ 编译器。它的作用如下:

  1. 将设备与主机代码分离成两个单独的文件
  2. 编译设备代码(使用 nvcc、cudafe、ptxas)
  3. 为主机代码调用 gcc

如果不存在设备代码,则在步骤 1) 和 2) 中不执行任何操作。所以 nvcc 实际上不是编译器,它是一个编译器驱动程序,它以正确的顺序为每个部分调用正确的编译器。要回答您的问题,如果您仅使用 nvcc 编译主机代码,您仍然使用 gcc。

于 2013-08-25T17:38:29.000 回答
0

它不接受抑制警告的选项(-W*)

于 2015-04-03T23:48:36.273 回答