我的算法(求解泊松方程)是完全可并行化的 - 假设所有线程在每次迭代结束时同步.
Function f, fNext;
init(f);
#pragma omp parallel
for(int step=0; step<maxITER; step++) {
#pragma omp for
for(int i=0; i<N; i++) {
for(int j=0; j<N; j++) {
fNext(i,j) = someOperator( f(i,j) );
}
}
f = fNext;
}//Threads must synchronize here
Run Code Online (Sandbox Code Playgroud)
并#pragma omp for确保持续到下一个迭代之前线程同步?