0
在我的OPENMP代碼中,我希望所有線程都做同樣的工作,最後取平均值(基本上計算錯誤)。 (我怎麼計算錯誤?每個線程產生不同的隨機數,所以從每個線程的結果是不同的。)OPENMP在線程上運行相同的作業
下面是簡單的代碼
program ...
..
!$OMP PARALLEL
do i=1,Nstep
!.... some code goes here
result=...
end do
!$END PARALLEL
sum = result(from thread 0)+result(from thread 1)+...
sum = sum/(number of threads)
只要我要送做循環內OPENMP所有線程,而不是阻止這個循環。 我可以用MPI和MPI_reduce做我想做的,但我想寫一個混合代碼OPENMP + MPI。我還沒有想出OPENMP部分,請提供建議?