そのメンバーが配列であるデバイスで構造体を宣言し、これに動的にメモリを割り当てる方法。たとえば、以下のコードでは、コンパイラは次のように述べています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) ));