2
我正在將此順序計算映射到CUDA計算。該計算是N×N網格上的二維雅可比鬆弛,其中N是未知的。 N可以被32整除。CUDA雅可比放鬆
Jacobi(float *a,float *b,int N){
for (i=1; i<N+1; i++){
for (j=1; j<N+1; j++) {
a[i][j]=0.8*(b[i+1][j]+b[i+1][j]+b[i][j+1]+b[i][j+1]);
}
}
}
我並行化了外部的兩個循環,每個線程只應計算一個元素。目標是將其並行化,以在x和y維度中使用循環分佈。有人可以幫助我實現在CUDA中具有適當索引函數的Jacobi_GPU,從而實現以下分配?
dim3 dimGrid(N/32,N/32);
dim3 dimBlock(32,32);
Jacobi_GPU<<<dimGrid,dimBlock>>>(A,B,N)
是公式是否正確? 'b [i + 1] [j] + b [i + 1] [j] + b [i] [j + 1] + b [i] [j + 1] [j]的+ 2 * b [i] [j + 1]'。正確? – Yappie
是的,那些會是一樣的。 – Thorax