[英]passing C++ objects to CUDA kernel
我有一段代码,其中包含我无权修改的对象。 另一方面,我必须编写CUDA内核来进行一些计算。 目前,我正在将所需的信息转换为数组或结构并将其传递。 是否可以将这样的对象传递给CUDA内核,并且CUDA内核是否有任何方法可以访问类的私有成员。 有人也向我建议。
您可以在CUDA代码中使用c ++功能。 它还有一些其他要求。 例如内核函数不能成为类的成员。 对于您自己的数据结构,需要满足一些要求。
__device__
__device__
构造函数。 您可以在编程指南附录D. C / C ++语言支持中看到一些c ++数据结构的示例。
至于您的具体问题:
__device__
复制构造函数。 __device__
访问器方法以在类外部使用它。 但是您不能通过内核调用将私有成员的类传递给内核。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.