可能重复:
复制包含指向 CUDA 设备的指针的结构
我有一个设备指针结构,指向设备上分配的数组。像这样
struct mystruct{
int* dev1;
double* dev2;
.
.
}
这个结构中有大量的数组。我开始编写一个 CUDA 内核,在其中传递指针mystruct
,然后在 CUDA 内核代码中取消引用它,如下所示mystruct->dev1[i]
。
但是我在写了几行之后意识到这不起作用,因为根据 CUDA 第一原则,您不能mystruct
在 CUDA 内核中取消引用主机指针(在本例中为 )。
但这有点不方便,因为我必须将大量参数传递给我的内核。有什么办法可以避免这种情况。我想尽可能缩短内核调用的参数数量。