これは恐らく疑問な質問ですが、データ量が増えたためにOpenMPを使い始めました。入れ子にされたOpenMP並列領域は、期待どおりに反復されません。
私はMiguel Hermannsの「OpenMPを使用したFortran 95での並列プログラミング」を行っており、本書の非常に早い段階です。初期の例の1つは、ネストされた並列領域の使用を示し、N + 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タグ[タグ:fortran]。バージョン固有の質問用のバージョンタグを追加することができます(これはFortranのバージョン固有のものではありません)。そしてあなたが引用している本でさえ、F95でなくF90です... –