0

私の行列加算の例:

 __global__ void matrix_add(float *a, float*b, float *c, int N)
{
    int index;
    int Row = blockIdx.y * blockDim.y + threadIdx.y;
    int Col = blockIdx.x * blockDim.x + threadIdx.x;

    int index = Row * N + Col;      // N is the order of the square matrix

    cd[index]= ad[index] + bd[index];

}

上記のカーネルで printf または他の同様の機能を使用できますか? そのため、デバイスからホスト メモリ (つまりcudaMemcpyDeviceToHost) にデータを転送する必要はありません。はいの場合、どのように?いいえの場合、なぜですか?

4

2 に答える 2

1

printf(..) を使用できますが、cc2.x 以降でのみ使用できます。
詳細については、CUDA プログラミング ガイドの付録 B.16 を参照してください。

于 2012-10-19T10:52:01.800 に答える