c++ - 带有 C++ 生成器的 CUDA

标签 c++ cuda c++builder

如何将 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++ 编译器具有通用的调用和名称修改约定。

所以,你基本上有三个选择:

  1. 使用 CUDA 的 nvcc 和 gcc 生成您可以从 C++ 构建器链接的 C 库。

  2. 欺骗 nvcc 生成 C 代码并尝试使用 C++ 构建器对其进行编译。然而,我没有成功。

  3. 放弃 C++ 构建器,您仍然可以使用带有 gcc/visual-studio 的 QT-creator 获得漂亮的多平台图形用户界面

关于c++ - 带有 C++ 生成器的 CUDA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16278142/

相关文章:

c++ - 如何使用自定义 Vertex 属性读取 GraphML 文件以进行 Boost Graph?

cuda - CUDA 固定内存是零拷贝吗?

c++builder - C++ : How do I make a VCL component reference itself?

c++ - 在 C::B 上使用 Borland 配置 OpenCV 2.2

c++ - 在 objective-c 中引用 c++ dll

c++ - 将 cv::Mat 传递给 labview

c++ - C++ 中 std::vector::operator= 的意外行为

c++ - Visual Studio 2010 (Windows 7) 中的 Hello World C++ CUDA 程序

cuda - CUDA 标量和 SIMD 视频指令的效率

c++ - 为什么删除 TStringList 指针会抛出异常?