這可能是一個愚蠢的問題,但我剛剛開始使用OpenMP,原因是數據量增加。嵌套的OpenMP並行區域不按預期迭代
我正在通過Miguel Hermanns的「使用OpenMP進行Fortran 95並行編程」,並且本書很早。早期的例子之一顯示了使用嵌套的平行區域,並指出它應該產生N行輸出。過程是這樣的:
program helloworld
!$OMP PARALLEL
write(*,*) "Hello"
!$OMP PARALLEL
write(*,*) "Hi"
!$OMP END PARALLEL
!$OMP END PARALLEL
end program helloworldcode
我希望12個招呼,然後144他,而是我得到的每一個12:
$ ./helloworld.exe
Hello
Hello
Hello
Hi
Hi
Hello
Hello
Hello
Hello
Hello
Hello
Hi
Hi
Hello
Hello
Hi
Hi
Hi
Hi
Hi
Hello
Hi
Hi
Hi
爲什麼我沒有得到156線輸出的,我會期望?
所有Fortran問題的Ues標籤[tag:fortran]。您可以爲特定於版本問題添加版本標記(這個版本不是特定的Fortran版本)。甚至你所引用的書是F95而不是F90 ... –