次の例に従いました: マルチ GPU の基本的な使用法
コードは合計を行っています:
受け入れられたとチェックされた人は、次のような追加機能を送信します。
for(int i=0;i<10000;++i) {
for(int dev=0; dev<2; dev++) {
cudaSetDevice(dev);
add<<<NB,NT>>>( dev_a[dev], dev_b[dev], dev_c[dev], Ns[dev] );
}
}
上記のコードではNS[dev]
、関数を追加するためにも追加しましたが、質問の投稿を送信する人は、次のような関数を追加します。
__global__ void add( double *a, double *b, double *c){
int tid = threadIdx.x + blockIdx.x * blockDim.x;
while(tid < N){
c[tid] = a[tid] + b[tid];
tid += blockDim.x * gridDim.x;
}
}
上記の機能の機能は何ですか Ns[dev]
。以下のコードで削除する Ns[dev]
と、次のようになります。
add<<<NB,NT>>>( dev_a[dev], dev_b[dev], dev_c[dev]);
追加機能が動作しません。つまり、値を追加しません。
Ns[dev]
ここで関数を追加するにはどうすればよい ですか?