几周前,我开始将 CUDA 集成到我的 C++ 应用程序中。我一直在做我自己关于集成 CUDA 和 C++ 的研究。但是,我仍然对这个话题感到不舒服。
有人可以根据最新的 Toolkit 3.2 或 4.0 RC 帮助我澄清一些问题吗?
在Fermi的白皮书中说Fermi完全支持C++。这是否意味着它在主机和设备代码中都支持 C++,还是仅在主机代码中支持?
我可以在内核代码中使用哪些 C++ 功能?我知道模板是受支持的。类或结构呢?
我能否将用户定义的类实例(其中包含一些指向设备内存的指针)传递到内核中,并在内核代码中调用其成员函数?类和结构有什么区别吗?
感谢任何帮助!谢谢!
最佳答案
您的主机已经支持 C++,不是吗?但现在 GeForce 400 系列(代号 Fermi)在设备上支持 C++ 代码。
也上课,但有一些限制。请参阅 programming guide 的附录 D了解详情。
您可以传递类的引用。查看编程指南的 D.6.2 部分。
一般来说,附录 D 显示了支持的 C++ 结构和代码片段。值得一读。
关于c++ - 用于主机和设备代码的 CUDA 和 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279443/