几周前我开始将CUDA集成到我的C ++应用程序中。我一直在研究有关集成CUDA和C ++的研究。但是,我仍然对这个话题感到不舒服。
有人可以帮助我根据最新的Toolkit 3.2或4.0 RC澄清一些问题吗?
它说费米在费米的白皮书中完全支持C ++。这是否意味着它在主机和设备代码中只支持C ++,或者只支持主机代码?
我可以在内核代码中使用哪种C ++特性?我知道模板是支持的。类或结构怎么样?
我可以将用户定义的类实例(其中包含一些指向设备内存的指针)传递到内核中,并在内核代码中调用其成员函数吗?类和结构是否存在差异?
任何帮助表示赞赏!谢谢!
答案 0 :(得分:6)
您的主机已经支持C ++,不是吗?但现在GeForce 400系列(代号为Fermi)支持设备上的C ++代码。
类也有一些限制。有关详细信息,请参阅programming guide的附录D 。
您可以传递该类的引用。请查看编程指南的 D.6.2 部分。
通常,附录D显示了受支持的C ++构造和代码片段。值得一读。