我可以在 C/C++ 中为 CUDA 使用 STL、iostream、new、delete 吗?
最佳答案
如果您有 Fermi 级 GPU(因此计算能力 >=2.0),并且正在使用 CUDA 4.0 或更高版本,那么 new
和 delete
都可以使用在设备代码中。不支持 STL 容器和算法以及 iostream。
如果您想对 CUDA 使用“类似 STL”的操作,您可能会对 Thrust 感兴趣模板库。它允许主机代码使用容器类型透明地与 GPU 交互,并实现许多非常有用的数据并行原语,如排序、缩减和扫描。请注意,这仍然是主机端设备,不能在您自己的内核代码中使用 Thrust 及其容器。
关于c++ - C/C++ 中的 STL、iostream、new、delete for CUDA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8986686/