1

我正在 CUDA C 中实现排序和流压缩算法。但是我刚刚发现自己实现这些算法并具有良好的性能并不是那么简单。鉴于我正在使用矩阵,我不能使用 CUDPP,因此,虽然我避免使用它,但我将不得不使用推力库(我对 C++ 一无所知)。

我一直在用 C 编程,我真的只是想用 C++ 来处理推力,所以基本上我想知道我是否可以在 C 中拥有大部分代码,然后拥有少量 C++ 代码(我猜我会必须使用“外部”功能),但我想确定它在 CUDA 中是否可行。

提前致谢。

4

2 回答 2

4

在主机代码方面,推力很容易集成。即使您可能认为您编译的任何 .cu 文件中的主机端代码都是 C,但无论如何它是使用 C++ 编译器编译的(大多数 CUDA 在内部依赖 C++ 功能进行编译)。因此,您现在实际上是在使用 C++ 工作而没有意识到这一点。

于 2011-05-20T11:24:07.627 回答
4

是的,可能会使您的构建过程复杂化,但其他工作正常。我们一直使用它来将一些 CUDA 函数封装到 C++ 类中(这是真正的踢球者),然后用 JNI 封装以在 Java 中使用。如果我们能做到,你就能做到!有它!

于 2011-05-20T11:25:10.020 回答