0

我一直在扫描该站点以查找有关大型 CUDA 项目的问题,并且我找到了一些很好的答复,无论如何我还有一些疑问。

我的程序,现在(它还没有完成),输出一些数组,然后输入到 Thrust 库函数。

所以我的主要疑问是:

1-鉴于我使用的是 CUDA C,我将推力函数声明为 extern "C"。我不确定在头文件中声明这些函数的正确方法,经过一番谷歌搜索后,我发现了以下代码,我想确定它是正确的:

extern "C" {
void compact(float*intxc,float*intyc,float*intzc);
void sort(float*intxc,float*intyc,float*intzc);
}

2-我在论坛上看到一些帖子,使用“Main.cpp”作为主文件,使用“Main.cu”文件是错误的还是无所谓的?

编辑:经过一番思考(和建议),我真的认为旧问题有点沉闷。

在此先感谢并感谢 talonmies 的建议

4

1 回答 1

1
  1. 在 CUDA 的最新(2.3 后)版本中,无需声明您的函数 extern "C"。此外,这些函数只是 C 函数,它们与 CUDA 无关。

  2. 您可以将 main 函数放在 .cu 文件或 .cpp 文件中。如果你做前者,它必须由nvcc编译。如果你做后者,它应该由你的 C++ 编译器编译。该文件不需要命名为“Main”。

于 2011-06-02T05:16:53.363 回答