2
我有此結構:如何將結構數組傳遞給GPU?
struct Node
{
int *ptr;
int k;
}*d_ptr;
如何我可以聲明節點的數組,並把它傳遞給GPU?問題是我必須先爲ptr分配內存然後Node!
我有這個至今:
int N=100;
int NumbOfNodes=5;
cudaMalloc((void **) &d_NodeArr, sizeof(Node)*NumbOfNodes);
for(int i=0;i<NumbOfNodes;i++)
cudaMalloc((void **) d_NodeArr[i].Degree, sizeof(int)*N);
會是更快,如果我這樣一個在單個陣列中分配的一切:
int N=100;
int NumbOfNodes=5;
int SIZE=(100*5)+5;//the +5 is for the k
cudaMalloc((void **) &d_ptr,sizeof(int)*SIZE);
是的,這將以更快的速度在單個陣列中分配的一切。這是常見的做法。 – jmilloy 2011-04-14 18:19:47