0

このコードは cuda by examples という本からのものです

#include "../common/book.h"
#define N (33 * 1024)

__global__ void add( int *a, int *b, int *c ) {
    int tid = threadIdx.x + blockIdx.x * blockDim.x;
    while (tid < N) {
        c[tid] = a[tid] + b[tid];
        tid += blockDim.x * gridDim.x;
    }  
}

                   .
                   .
                   .
add<<<128,128>>>( dev_a, dev_b, dev_c );

33*1024 = 33792

128 * 128 = 16384

33792 > 16384

この場合、ブロックごとのスレッド数を増やして実行する必要がありますか?

4

1 に答える 1