c++ - C/C++ 中的 STL、iostream、new、delete for CUDA

标签 c++ c stl cuda iostream

我可以在 C/C++ 中为 CUDA 使用 STL、iostream、new、delete 吗?

最佳答案

如果您有 Fermi 级 GPU(因此计算能力 >=2.0),并且正在使用 CUDA 4.0 或更高版本,那么 newdelete 都可以使用在设备代码中。不支持 STL 容器和算法以及 iostream。

如果您想对 CUDA 使用“类似 STL”的操作,您可能会对 Thrust 感兴趣模板库。它允许主机代码使用容器类型透明地与 GPU 交互,并实现许多非常有用的数据并行原语,如排序、缩减和扫描。请注意,这仍然是主机端设备,不能在您自己的内核代码中使用 Thrust 及其容器。

关于c++ - C/C++ 中的 STL、iostream、new、delete for CUDA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8986686/

相关文章:

c - opencv抓包导致内存分配错误

C - 从文件中读取句子到 malloc 创建的字符串数组中

c++ - 您能否将一个异常继承层次结构包装到另一个异常继承层次结构中? --或者,另一种干净的方法来处理这个问题?

c++ - NSSet 与 unordered_set

c++ - glColorMask 是否影响 glClear

c++ - 在解析的情况下,在 C 中可以使用什么代替 istringstream(在 C++ 的情况下)?

C++ 将未知类型传递给具有抽象基础的对象

c++ - 4K 纹理流(多分辨率)

c - 数学方程用户输入验证

c++ - 使用 STL map/set/multiset/multimap,如何找到大于或等于搜索键的第一个值?