0

GPU 側で配列を埋めたい:

そのために:

まず、ホスト側とデバイス側の配列を作成しました:

int *d_A = NULL;
int *h_A = NULL;

次に、ホスト配列にメモリを割り当てます。

h_A = (int *)malloc(numOfData*sizeof(int));

そして、デバイス配列に割り当てます:

cudaMalloc((void **) &d_A, numOfData * sizeof(int));

そして、d_A を GPU 側に渡します

cudaMemcpy(d_A, h_A, numOfData, cudaMemcpyHostToDevice);

そして関数を呼び出す

  generateVector<<<1,2>>>(d_A,numOfData);

生成関数は以下のとおりです。

_global__ void generateVector(int * d_Data,int count) {

    for (int i = 0; i < count; i++) {
        d_Data[i] = rand_from_0_to_100_gen();
    }
}

GPU 側では、rand 関数を使用して配列を埋めることができるようになりました。じゃあどうすればいいの?可能な解決策は何ですか?

4

1 に答える 1