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

时间:2011-03-11 23:19:01

标签: c++ c cuda

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

有人可以帮助我根据最新的Toolkit 3.2或4.0 RC澄清一些问题吗?

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

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

  3. 我可以将用户定义的类实例(其中包含一些指向设备内存的指针)传递到内核中,并在内核代码中调用其成员函数吗?类和结构是否存在差异?

  4. 任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:6)

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

  2. 类也有一些限制。有关详细信息,请参阅programming guide附录D

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

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