如何在设备中声明一个结构,它的成员是一个数组,然后为此动态分配内存。例如在下面的代码中,编译器说:error : calling a __host__ function("malloc") from a __global__ function("kernel_ScoreMatrix") is not allowed
. 还有其他方法可以执行此操作吗?
dev_size_idx_threads
is的类型int*
和它的值,发送到内核并用于分配内存。
struct struct_matrix
{
int *idx_threads_x;
int *idx_threads_y;
int thread_diag_length;
int idx_length;
};
struct struct_matrix matrix[BLOCK_SIZE_Y];
matrix->idx_threads_x= (int *) malloc ((*(dev_size_idx_threads) * sizeof(int) ));