CUDA和C++用于主机和设备代码

4

几周前我开始将CUDA集成到我的C++应用程序中。我一直在研究如何将CUDA和C++集成。但是,我对这个问题仍然感到不舒服。

是否有人能够帮我根据最新的Toolkit 3.2或4.0 RC澄清一些问题?

  1. 在Fermi的白皮书中,它说Fermi完全支持C++。这是否意味着它支持主机代码和设备代码中的C++,还是只支持主机代码中的C++?

  2. 我可以在内核代码中使用哪些C++特性?我知道支持模板。类或结构体怎么样?

  3. 我能否将用户定义的类实例(其中包含一些指向设备内存的指针)传递到内核中,并在内核代码中调用其成员函数?类和结构体是否有任何区别?

非常感谢您的帮助!谢谢!

1个回答

6
  1. 你的主机已经支持C++,是吗?但现在GeForce 400系列(代号Fermi)支持设备上的C++代码。

  2. 还有类,但有一些限制。有关详细信息,请参见编程指南中的附录D。

  3. 您可以传递类的引用。请查看编程指南的第D.6.2节。

通常,附录D显示受支持的C++构造和代码片段。值得阅读。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接