当每个对象都有指向另一个对象的指针时,如何将对象数组传递给CUDA内核

时间:2016-04-04 11:15:58

标签: c++ cuda

class A 
{
  B *b;
}

假设我有一个A类元素数组,我想将它们发送到CUDA内核!如果没有内部指针,那将是微不足道的,因为我只需要调用

cudaMalloc(&arrayA, sizeof(A) * numberof A elements).

在这种情况下如果我只是调用cudaMalloc,* b指针指向的内存会发生什么?它仍然是指向主机内存的指针?我搜索到我可以在主机上固定内存并从设备访问它,是否可以固定* b指向内存并从设备访问它(访问时间)?或者,如果我应该将整个b对象复制到设备内存并将* b作为对设备内存的引用?

0 个答案:

没有答案