所以,我正在尝试分配一个指针列表,每个指针都指向我设备上的一个结构,但我不断收到段错误。这适用于 normal malloc
,但cudaMalloc
, 事情变得可疑。
struct body //struct holding information for one body
{
int id;
float m; //mass
float a[3]; //acceleration
float v[3]; //velocity
float pos[3]; //x, y, z
} ;
body** devBodies;
cudaMalloc( (void**)&devBodies, n * sizeof(body*) );
for(i = 0; i < n; i++)
{
cudaMalloc( (void**)&devBodies[i], sizeof(body));
}
我希望列表中的每个指针都指向我的结构。为什么这不起作用?