CUDA勉強中 CUDA by Exampleからのメモ. #define N 1024 __global__ void add(int *a, int *b, int *c){ //int tid = threadIdx.x; if(tid < N){ c[tid] = a[tid] + b[tid]; } } といったベクトルの加算をデバイスにさせたいときに、どうブロックやスレッドを分ければよいか。 手元の環境(QuadroK5000)だと、最大ブロック数65535、最大スレッド/ブロック数は1024 長さN:1024のベクトルを計算する場合 add<<<N,1>>>(dev_a, dev_b, dev_c); とブロックを増やして1ブロックあたり1スレッドでも、 add<<<1,N>>>(dev_a, dev_b, dev_c); として、1ブロックNスレッドでも動く。 長さN:10