如何将 CUDA 与 C++ 构建器一起使用?我是否必须使用包装器来进行基本的 CUDA 计算?我搜索了一下,没有关于如何为 C++ 构建器设置 CUDA SDK 的信息。
最佳答案
NVIDIA 的 API 是 C 兼容的,C++ 构建器编译为原生,它们也 happen to support C 的常规调用约定。
CUDA 有一个内核编译器,允许您在同一个文件中混合 C/C++ 代码和 CUDA 代码……但我认为他们在工具包中嵌入了 gcc 版本。我有一个项目,我正在混合由另一个 gcc 版本生成的代码,最简单的事情是在我用他们的 nvcc 编译的库中隔离 CUDA coda,然后链接到我的 gcc 版本生成的代码。就我而言,这很容易:C++ 编译器具有通用的调用和名称修改约定。
所以,你基本上有三个选择:
使用 CUDA 的 nvcc 和 gcc 生成您可以从 C++ 构建器链接的 C 库。
欺骗 nvcc 生成 C 代码并尝试使用 C++ 构建器对其进行编译。然而,我没有成功。
放弃 C++ 构建器,您仍然可以使用带有 gcc/visual-studio 的 QT-creator 获得漂亮的多平台图形用户界面
关于c++ - 带有 C++ 生成器的 CUDA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16278142/