2011-03-11 35 views
3

几周前,我开始将CUDA集成到C++应用程序中。我一直在做我自己关于集成CUDA和C++的研究。不过,我仍然对这个话题感到不舒服。CUDA和C++用于主机和设备代码

有人能帮我澄清一些基于最新Toolkit 3.2或4.0 RC的问题吗?

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

  2. 什么样的C++功能可以在内核代码中使用?我知道模板是支持的。什么是类或结构?

  3. 我可以将用户定义的类实例(它包含一些指向设备内存的指针)传递给内核,并在内核代码中调用其成员函数吗?班级和结构有什么不同?

任何帮助被赞赏!谢谢!

回答

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

  2. 类也有一些限制。详情请参阅的附录D

  3. 您可以传递该类的引用。检查编程指南的D.6.2

一般来说,附录D显示了支持的C++结构和代码段。值得一读。