【发布时间】:2012-09-12 19:03:05
【问题描述】:
我有一个设备指针结构,指向设备上分配的数组。 像这样
struct mystruct{
int* dev1;
double* dev2;
.
.
}
这个结构中有大量的数组。我开始编写一个 CUDA 内核,其中
我将指针传递给mystruct,然后在
像这样mystruct->dev1[i]的CUDA内核代码。
但我在写了几行之后意识到这不会起作用,因为根据 CUDA 第一原则
您不能在 CUDA 内核中取消引用主机指针(在本例中为 mystruct)。
但这有点不方便,因为我将不得不传递更多的参数 到我的内核。有什么办法可以避免这种情况。我想保留参数的数量 我的内核调用尽可能短。
【问题讨论】:
标签: cuda